当前位置:  编程技术>移动开发

android横竖屏切换时候Activity的生命周期

    来源: 互联网  发布时间:2014-10-13

    本文导语:  1、新建一个Activity,并把各个生命周期打印出来 2、运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3、按crtl+f12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceState--> onResume--> 4、再...

1、新建一个Activity,并把各个生命周期打印出来

2、运行Activity,得到如下信息

onCreate-->
onStart-->
onResume-->

3、按crtl+f12切换成横屏时

onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->

4、再按crtl+f12切换成竖屏时,发现打印了两次相同的log

onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->

5、修改AndroidManifest.xml,把该Activity添加

android:configChanges="orientation",执行步骤3
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->

6、再执行步骤4,发现不会再打印相同信息,但多打印了一行onConfigChanged

onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
onConfigurationChanged-->

7、把步骤5的android:configChanges="orientation" 改成
android:configChanges="orientation|keyboardHidden",执行步骤3,就只打印
onConfigChanged
onConfigurationChanged-->

8、执行步骤4

onConfigurationChanged-->
onConfigurationChanged-->

总结:

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,
切横屏时会执行一次,切竖屏时会执行两次
2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调
用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:configChanges="orientation|keyboardHidden"时,
切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

总结一下整个Activity的生命周期
补充一点,当前Activity产生事件弹出Toast和AlertDialog的时候Activity的生命
周期不会有改变
Activity运行时按下HOME键(跟被完全覆盖是一样的):onSaveInstanceState -->
onPause --> onStop onRestart -->onStart--->onResume
Activity未被完全覆盖只是失去焦点:onPause--->onResume

    
 
 

您可能感兴趣的文章:

  • Android 程序应用的生命周期
  • Android静态变量的生命周期 简单介绍
  • android生命周期深入分析(一)
  • 基于Android Service 生命周期的详细介绍
  • 两分钟让你彻底明白Android Activity生命周期的详解(图文介绍)
  • android生命周期深入分析(二)
  • android游戏载入的activity跳转到游戏主菜单的activity具体实现
  • Android Activity切换(跳转)时出现黑屏的解决方法 分享
  • Android实现退出时关闭所有Activity的方法
  • android activity设置无标题实现全屏
  • Android显式启动与隐式启动Activity的区别介绍
  • android弹出activity设置大小的方法
  • android不同activity之间共享数据解决方法
  • Android Activity 完全结束并退出程序的实例
  • Android Activity之间传递图片(Bitmap)的方法
  • android横竖屏切换不重启activity解决方案
  • Android实现Activity界面切换添加动画特效的方法
  • android的activity跳转到另一个activity
  • android Activity相对布局的使用方法
  • android开发之为activity增加左右手势识别示例
  • Android开发 旋转屏幕导致Activity重建解决方法
  • Android中通过view方式获取当前Activity的屏幕截图实现方法
  • Android的Activity跳转动画各种效果整理
  • Android 不同Activity间数据的传递 Bundle对象的应用
  • Android提高之Activity+Intent用法示例
  • Android 多个Activity之间的传值
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • android开启免提切换功能示例
  • 解析Android横竖屏切换的问题
  • android fm单体声和立体声的切换示例代码
  • android播放视频时在立体声与单声道之间切换无变化原因分析及解决
  • 认认真真发一次,framebuffer 切换问题!!Android平台
  • Android实现动态切换组件背景的方法
  • android实现在横竖屏切换时页面信息不被重置的示例分享
  • Android基础之使用Fragment控制切换多个页面
  • Android TabWidget切换卡的实现应用
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍
  • Android 开发环境 Android Studio
  • IDEA的Android开发插件 idea-android
  • Android手机事件提醒 Android Notifier
  • XBMC的Android客户端 android-xbmcremote
  • Android小游戏 Android Shapes
  • Android电池监控 Android Battery Dog
  • android开发:“android:WindowTitle”没有对应项no resource
  • Android 上类似IOS 的开关控件。 Android ToggleButton
  • Android 将 android view 的位置设为右下角的解决方法
  • Android 2D游戏引擎 Android Angle


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3