直接上结论:
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

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

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

注意:自从Android 3.2(API 13),在设置Activity的android:configChanges="orientation|keyboardHidden"后,还是一样会重新调用各个生命周期的。因为screen size也开始跟着设备的横竖切换而改变。因此,阻止程序在运行时重新加载Activity,除了设置"orientation",你还必须加上"ScreenSize"。
还有一个问题就是:当我们切换竖屏的时候,生命周期还是只会执行一次,那为什么总结的都是两次呢?原来最终问题出现在版本的问题上,在2.3版本及以后都验证这句话不符合,到2.2(API 8)时才发现的确这样,当屏幕旋转时会执行两次。


activity启动:
onCreate--->onStart--->onResume
切换到横屏
onPause--->onStop--->onDestroy--->onCreate--->onStart--->onResume

点击back键
onPause--->onStop--->onDestroy

点击home键 退到后台
onPause--->onStop

从后台到前台
onRestart--->onStart---->onResume

更多相关文章

  1. Android中的Activity生命周期
  2. Android生命周期学习笔记
  3. Android 上传图片到后台的一直方式Base64的String形式
  4. Android生命周期和启动模式
  5. Android 之Service的使用及生命周期
  6. Android源码阅读分析:Activity生命周期
  7. 新书内容连载(2):Android Activity的生命周期
  8. android使用websocket保持长连接 后台为nodejs带心跳检测

随机推荐

  1. android之从SD卡读取数据
  2. 【Android】以BaseAdapter做适配器的List
  3. android editText 自定义边框
  4. android手机之间用wifi direct通信
  5. 操作Android 手机通讯录数据库
  6. Android NetworkCallback
  7. Android 读取Assets中图片
  8. Android Opencore OpenMAX学习(1)
  9. Android 保持屏幕常亮
  10. Android开发实用技巧之三:定制自己的日志