一 Activity 生命周期
onCreate:
创建。Activity 启动的第一个方法。此时 Activity 还在后台,不可见。
onRestart:
在用户切换 Activity(全屏)、home 键 恢复的时候调用。
onStart:
启动。此时 Activity已经可见,但还未出现在前台,用户无法和 Activity交互。主要在用户切换 Activity(全屏)、home 键恢复的时候会重新调用。
onResume:
Activity 会在进入“已恢复”状态时来到前台。此时Activity 可见,用户可以和 Activity 交互。用户从其他界面回来时调用。
onPause:
onPause:pause表示暂停。Activity 可见,单用户不能与之交互。用户启动其他界面的时候调用。恢复的时候调用 onResume。也有可能被杀死(概率较小),恢复的时候调用onCreate。
onStop:
Activity进入已停止状态。用户不可见,不能与之交互。用户切换 Activity(全屏)、home 键的时候调用,恢复的时候会先调用 onRestart,然后 onStart。也有可能被杀死,恢复的时候调用onCreate。
onDestroy:
Activity 销毁。
二 不同情况下生命周期流转
2.1 正常情况
开启:onCreate-onStart-onResume
关闭:onPause-onStop-onDestroy
2.1 home 键
切走:onPause-onStop
恢复:onRestart-onStart-onResume
2.2 back 键
onPause-onStop-onDestroy
2.3 切换 Activity(全屏)
第一个 Activity:onPause-onStop;恢复:onRestart-onStart-onResume
第二个 Activity:onCreate-onStart-onResume
2.4 切换部分屏幕 Activity
第一个 Activity:onPause;恢复:onResume
第二个 Activity:onCreate-onStart-onResume
2.5 横竖屏切换
2.5.1 普通情况
onPause-onStop-onDestroy-onCreate-onStart-onResume
2.5.2 配置了android:configChanges="orientation|screenSize"
onConfigurationChanged
三 参考
https://www.jianshu.com/p/fb44584daee3
https://developer.android.com/guide/components/activities/activity-lifecycle
https://www.jianshu.com/p/5d038fb26f50