Activity的生命周期

生命周期

标准流程

由A启动B的流程:
A - onPause
B - onCreate
B - onStart
B - onResume
A - onStop
在B按返回:
B - onPause
A - onRestart
A - onStart
A - onResume
B - onStop
B - onDestroy

前后台切换

保留活动情况

  • onCreate
  • onStart
  • onResume
    Home
  • onPause
  • onSaveInstanceState
  • onStop
    恢复
  • onRestart
  • onStart
  • onResume

不保留活动情况

  • onCreate
  • onStart
  • onResume
    Home
  • onPause
  • onSaveInstanceState
  • onStop
  • onDestroy
    恢复
  • onCreate
  • onStart
  • onRestoreInstanceState 确实被销毁,重新创建才会执行
  • onResume

锁屏

指定方向

  • onCreate
  • onStart
  • onResume
    锁屏
  • onPause
  • onStop
    解锁
  • onRestart
  • onStart
  • onResume

未指定方向

  • onCreate
  • onStart
  • onResume
    锁屏
  • onPause
  • onStop
  • onDestroy
  • onCreate
  • onStart
  • onResume
  • onPause
    解锁
  • onResume
  • onPause
  • onStop
  • onDestroy
  • onCreate
  • onStart
  • onResume

横竖屏切换

由于Android版本不同生命周期会有所不同,我所打的log是Android7.0

无config
configChanges="orientation"

发现以上两种生命周期没有变化,再来试试screenSize

configChanges="screenSize"

三种情况完全没差啊,这时

configChanges="orientation|screenSize"

换Android4.4的模拟器看看

无config

没有onConfigurationChanged回调

configChanges="orientation"

还没有onConfigurationChanged回调

configChanges="screenSize"

the same

configChanges="orientation|screenSize"
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android的开发中我们大部分都是和Activity打交道,而想很好的运用Activity首先必须要清楚Acti...
    云天随笔阅读 5,016评论 0 1
  • 第一章 Activity的生命周期和启动模式 本章的侧重点是Activity在使用过程中的一些不容易搞清楚的概念,...
    努力生活的西鱼阅读 2,087评论 0 0
  • 启动与销毁Activity 不同于使用 main() 方法启动应用的其他编程范例,Android 系统会通过调用对...
    安卓Boy阅读 5,727评论 3 5
  • 1.正常情况下的生命周期 1.onCreate: 与onDestory配对,表示Activity被创建,这是生命...
    S_ZY阅读 4,028评论 0 6
  • 启动与销毁Activity 不同于使用 main() 方法启动应用的其他编程范例,Android 系统会通过调用对...
    mouekz阅读 3,846评论 0 0