前言: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()
网友评论