创建三个活动,一个主活动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()