Activity的生命周期

生命周期

标准流程

Activity的生命周期_第1张图片

由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

Activity的生命周期_第2张图片
无config
Activity的生命周期_第3张图片
configChanges="orientation"

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

Activity的生命周期_第4张图片
configChanges="screenSize"

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

Activity的生命周期_第5张图片
configChanges="orientation|screenSize"

换Android4.4的模拟器看看

Activity的生命周期_第6张图片
无config

没有onConfigurationChanged回调

Activity的生命周期_第7张图片
configChanges="orientation"

还没有onConfigurationChanged回调

Activity的生命周期_第8张图片
configChanges="screenSize"

the same

Activity的生命周期_第9张图片
configChanges="orientation|screenSize"

你可能感兴趣的:(Activity的生命周期)