Activity各种情况下的生命周期

基本的生命周期,

--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

版权声明:本文为博主原创文章,转载请附上博文链接!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容