美文网首页
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