美文网首页
Activity各种情况下的生命周期

Activity各种情况下的生命周期

作者: d85a3f21310a | 来源:发表于2019-05-06 14:25 被阅读0次

基本的生命周期,

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

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

相关文章

网友评论

      本文标题:Activity各种情况下的生命周期

      本文链接:https://www.haomeiwen.com/subject/nriroqtx.html