美文网首页构建自己的体系
Android四大组件之Activity的生命周期

Android四大组件之Activity的生命周期

作者: 雨森之雨 | 来源:发表于2020-03-20 10:57 被阅读0次

    Android四大组件之一Activity的生命周期

    首先我们从官网拿到下面这张图,这张图大家应该不陌生了,后面我们根据日志了解接下两个Activity之间的跳转,研究下Activity的生命周期

    一、典型情况下生命周期(7个)

        1、onCreate : 表示Activity正在被创建

        2、onReStart : 表示Activity重新启动,正常情况下Activity从不可见变为可见状态时,会被调用

        3、onStart : 表示Activity正在被启动,Activity已经可见了, 但是还没有出现在前台,无法和用户进行交互(可以理解为,其实已经可见了,只是我们看不见而已)

        4、onResume : 表示Activity已经可见、且可以和用户进行交互了

        5、onPause : 表示Activity正在停止,可见(不可执行耗时操作)

        6、onStop : 表示Activity即将停止,不可见(不可执行耗时操作)

        7、onDestroy : 表示Activity即将被销毁(可以进行资源的释放)

    二、特殊情况下

    那么从A_Activity启动,再从A_Activity跳转到B_Activity过程中,这两个的Activity的生命周期谁的会执行呢?

    A启动:

    A_Activity的 -- onCreate -- onStart -- onResume

    A跳转B(A调用finish):

    A_Activity先调用onPause,然后就是B_Activity : onCreate --> onStart --> onResume,最后是A_Activity的 onStop  -->(如果A_Activity调用的finish的话,就会接着触发onDestroy)

    A跳转B(A不调用finish):

    如果A_Activity不调用的finish的话,跳转到B_Activity,再从B_Activity返回呢?

    先上图:

    A_Activity不调用的finish的话,跳转到到B_Activity,A_Activity先调用onPause,然后就是B_Activity : onCreate --> onStart --> onResume,

    B点击返回

    先是B_Activity的 onPause。 紧接着就是A_Activity的onRestart --》 onStart --> onResume,最后才是 B_Activity的onStop --> onDestroy

    综上所述:

    从前者跳转(返回)到后者,始终是先调用前者的 onPause,然后调用后者的 onCreate/onRestart --> onStart  -- > onResume,最后调用前者的onStop --> onDestroy。

    异常情况下呢?点击下方友情链接

    onSaveInstanceState()和onRestoreInstanceState()使用详解

    相关文章

      网友评论

        本文标题:Android四大组件之Activity的生命周期

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