android第七节活动的生命周期

来源:互联网 发布:程序员联合开发网注销 编辑:程序博客网 时间:2024/06/05 07:31

创建三个活动,一个主活动MainActivity,两个按钮,分别打开另外两个活动,第一个活动是一个文本NormalActivity,第二个是一个对话框DialogActivity。

官方图片

只有主活动有标记信息

第一个活动被创建会依次执行

onCreate()onStart()onResume()

按下第一个按钮

按下第一个按钮打开NormalActivity把MainActivity完全遮挡住,因此会执行

onPause()onStop()

先把MainActivity暂停然后再停止。

按下返回键

会执行

onRestart() onStart()onResume()

之前MainActivity进入了停止状态,onRestart恢复

然后依次执行 onStart onResume方法。

onCreate方法并不会执行,因为MainActivity并没有被重新创建,创建一次就可以了。

按下第二个按钮

然后按第二个按钮进入DialogActivity对话框活动

onPause()

只出现了onPause,没有出现onStop,因为DialogActivity并没有遮挡住MainActivity,对话框只是浮在上面,此时的MainActivity只是进入了暂停状态,并没有进入停止状态。

按下返回键
onResume()

这时回到MainActivity

再按一下back
onPause()onStop()onDestroy()

活动结束,销毁掉。

后台切换一下执行
onPause() onStop()
回到原来的程序执行
onRestart()onStart()onResume()

所有活动都有标记信息

按下第一个按钮执行

onPause() Nor_onCreate()Nor_onStart()Nor_onResume()onStop()

先把MainActivity暂停,然后创建并启动NormalActivity,最后再将MainActivity停止。

按下返回键
Nor_OnPause()OnRestart()OnStart()OnResume()Nor_OnStop()Nor_OnDestroy()

立马将当前NormalActivity活动暂停,然后重新启动始被停止的MainActivity,最后将NormalActivity暂停再摧毁。

按下第二个按钮执行

OnPause()Dia_OnCreate()Dia_OnStart()Dia_OnResume()

不会有执行onStop() 因为对话框是浮在第一个活动上的 第一个活动并没有停止

在空白处点击使对话框消除
Dia_OnPause()OnResume()Dia_OnStop()Dia_OnDestroy()

将DialogActivity活动先暂停,然后恢复处于暂停的MainActivity,最后DialogActivity停止,销毁。

此时处于MainActivity

按下返回键
OnPause()OnStop()OnDestroy()
0 0
原创粉丝点击