美文网首页
Activity切换时生命周期的一些变化

Activity切换时生命周期的一些变化

作者: 夜瑾漠 | 来源:发表于2019-05-28 19:27 被阅读0次

    前言:Activity切换时生命周期的一些变化

    [TOC]

    Activity切换时各个页面的生命周期:

    1、进入到当前页面(FirstActivity)

    A:onCreate()
    A:onStart()
    A:onResume()
    

    2、在FirstActivity按住Home键退出到手机主页面/同锁屏操作

    A:onPause()
    A:onStop()
    

    3、再重新返回FirstActiviyt页面/同解锁操作

    A:onRestart()
    A:onStart()
    A:onResume()
    

    4、跳转到其他页面(SecondActiviy)

    A:onPause()
    B:onCreate()
    B:onStart()
    B:onResume()
    A:onStop()
    

    5、从SecondActiviy退回到FirstActiviy

    B:onPause()
    A:onRestart()
    A:onStart()
    A:onResume()
    B:onStop()
    B:onDestroy()
    

    6、退出FirstActiviy

    A:onPause()
    A:onStop()
    A:onDestroy()
    

    关于onPause()方法

    这边是看到了这篇博客后才自己写个Demo去验证的,纸上得来终觉浅,绝知此事要躬行。

            网上很多关于此方法调用的说明,大都是讲在一个页面打开一个 Dialog弹窗 ,此时A页面就会走到onPause()方法,然后Dialog开始正常走页面创建的三个方法。
            但是
            但是
            但是
            我们一般创建的AlertDialog都不会走onPause()方法。对,没错,这个所谓的创建一个弹窗,它没有完全遮住A页面时,A页面会走到的方法其实并没有走到,应该说是没有走到任何一个方法,生命周期没有任何变化。
            那要什么样的弹窗才会调用到onPause()方法呢?

    <activity
                android:name=".orientation.ThirdActivity"
                android:theme="@style/Theme.AppCompat.Dialog">
      </activity>
    

    是主题设置为Dialog的Activity被启动时,A才会依次走到下面的生命周期

    A:onPause()
    C:onCreate()
    C:onStart()
    C:onResume()
    

    相关文章

      网友评论

          本文标题:Activity切换时生命周期的一些变化

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