Android Activity 生命周期再验证

Activity的launchmode为默认值。
1.桌面图标启动Ap,按Back键返回:
onCreate()
onStart()
onResume()
【Back键按下】
onPause()
onStop()
onDestroy()
2.长按Home按键,从最近程序中点击图标进入:
与情况1相同。
3.启动Ap,按Home按键,然后再点击图标进入:
onCreate()
onStart()
onResume()
【Home键按下】
onPause()
onStop()
【再次进入Ap】
onRestart()
onStart()
onResume()
4.新Activity全部覆盖,back退出新Activity:
A1 oncreate()
A1 onstart()
A1 onResume()
【启动A2】
A1 onPause()
A2 onCreate()
A2 onStart()
A2 onResume()
A1 onStop()
【从A2 Back】
A2 onPause()
A1 onActivityResult()
A1 onRestart()
A1 onStart()
A1 onResume()
A2 onStop()
A2 onDestroy()
【从A1 Back】
A1 onPause()
A1 onStop()
A1 onDestroy()
5.新Activity部分覆盖,back退出新Activity
A1 onCreate()
A1 onStart()
A1 onResume()
【启动A2】
A1 onPause()
A2 onCreate()
A2 onStart()
A2 onResume()
【从A2Back】
A2 onPause()
A1 onActivityResult()
A1 onResume()
A2 onStop()
A2 onDestroy()
6.普通Dialog部分覆盖:
同AlertDialog
7.AlertDialog部分覆盖:
onCreate()
onStart()
onResume()
【显示AlertDialog】
【关闭AlertDilaog】
在AlertDialog出现以及消失的过程中,没有触发任何onXXX事件。
8.来电覆盖:
等同新Activity全覆盖
9.桌面控件intent启动:
9.1.目标Activity未启动:
等同桌面图标直接启动,会直接启动一个新Activity。
9.2.目标Activity已经启动并且在最上层
如果目标Activity是由桌面控件触发的,那么等同情况3,不会创建新Activity。
如果目标Activity是由Launcher图标启动的,那么会不停的创建新Activity。
9.3.目标Activity已经启动但是不在最上层
如果目标Activity是由桌面控件启动的,那么不会创建新Activity,但也不会把目标Activity提到最上层。
如果目标Activity是由Launcher图标启动的,那么会不停的创建新Activity。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyfpdy.html