基本的生命周期,
--onCreate()(Activity创建时调用 )
--onStart()(可见未获取焦点,无法与之交互 )
--onResume()(可见已获取焦点,可与之交互 )
--onPause()(可见,失去焦点 )
--onStop()(不可见 )
--onRestart()(Activity重启)
--onDestroy()(Activity销毁)
--onSaceInstanceState可能会被回收的时候调用,与上面的先后顺序各个Android版本不同
--onResotreInstanceState没有被回收的话就不会调用
--onConfigurationChanged
各种情况下的生命周期
1 home键
按下 onPause - onStop
返回 onRestart - onStart - onResume
2 锁屏
锁屏 onPause - onStop
解锁 onRestart - onStart - onResume
home键和锁屏虽然生命周期相同,但是触发流程不一样,home键走的正常的home activity(launcher)切换流程,栈顶activity被切换,而锁屏走的handleSleep流程,这个时候栈顶activity还是该activity
3 dialog弹出
普通AlertDialog弹出,不会发生activity声明周期变化,因为dialog和activity属于从属关系,使用的同一个apptoken,因此可交互和可见性都不会发生变化,也就不会因此生命周期变化
4 透明样式或者dialog样式的activity启动
onPause(A) - onCreate(B) - onStart(B) - onResume(B)
注意点在于Activity A不会执行onStop,因为如果A的可见性没有变化,也就是没有被完成遮挡的话,这个时候只是不在前台,不能和用户交互,所以只会执行onPause,而不会执行onStop方法。
5 进程被杀死
当activity所在进程被杀死的话,activity的onStop、onDestroy不会被执行,新的activity启动的时候,执行的是onCreate - - onStart - onRestoreInstanceState - onResume
6 Configuration变化导致activity重启
onPause - onSaveIntanceState - onStop - onDestroy - onCreate - - onStart - onRestoreInstanceState- onResume
---------------------
作者:xuning2516
来源:CSDN
原文:https://blog.csdn.net/xuning2516/article/details/79942741
版权声明:本文为博主原创文章,转载请附上博文链接!
网友评论