美文网首页
activity singleTask 探究

activity singleTask 探究

作者: 一个冬季 | 来源:发表于2021-01-14 09:55 被阅读0次
参考文章

APP在后台被系统回收后,如何重新启动

条件:A(singleTask) B(默认) C(默认)

A ---关闭A---> B ----> C ----->A

A_onCreate
A_onStart
A_onResume

//这里finishA
A_finish
A_onPause-----------------注意点
B_onCreate
B_onStart
B_onResume
A_onStop
A_onDestroy

B_onPause-----------------注意点
C_onCreate
C_onStart
C_onResume
B_onStop

//这里重新启动A
C_onPause-----------------注意点
A_onCreate
A_onStart
A_onResume
C_onStop

1、onPause执行完成,就是下一个activity准备启动onCrate的时间点。从这里我发现重新启动A,只是调用了C的onPause,onStop,正常来说onDestroy也会调用的,但是系统并没有去执行,它的调用时机是不确定的,当onDestory调用的时候也就是最后一步,资源空间等就被回收了,B的生命周期没有任何的执行

条件:A(singleTask) B(默认) C(默认) 后台限制为不存在后台进程

A ---关闭A---> B ----> C
打开我们的APP----->打开京东------>返回/切回我们的APP,我们APP进程直接被干死,重新创建一个属于我们APP的进程,重新打开A界面,重走A的生命周期

条件:A(默认) B(默认) C(默认) 模拟APP被系统回收,点击APP图标重起
模拟APP被系统回收.jpg

A ----> B ----> C---->按下home并回收app---->点击APP图标

创建Application(17375)

A_onCreate
A_onStart
A_onResume

//这里finishA
A_finish
A_onPause-----------------注意点
B_onCreate
B_onStart
B_onResume
A_onStop
A_onDestroy

B_onPause-----------------注意点
C_onCreate
C_onStart
C_onResume
B_onStop

//按下home后点击回收app
C_onPause
C_onStop

//点击APP图标
创建Application(17652)

A_onCreate
A_onStart
A_onResume

1、如果按下home,杀死APP,点击APP图标,重新从A启动

条件:A(默认) B(默认) C(默认) 模拟APP被系统回收,从任务状态栏返回APP
模拟APP被系统回收.jpg

A ----> B ----> C---->按下home并回收app---->从任务栏切回APP

创建Application(17375)

A_onCreate
A_onStart
A_onResume

//这里finishA
A_finish
A_onPause-----------------注意点
B_onCreate
B_onStart
B_onResume
A_onStop
A_onDestroy

B_onPause-----------------注意点
C_onCreate
C_onStart
C_onResume
B_onStop

//按下home后点击回收app
C_onPause
C_onStop

//从任务状态栏返回
创建Application(17652)

C_onCreate
C_onStart
C_onResume

1、如果按下home,杀死APP,从任务栏切回APP,发现会直接从C重新进行创建

相关文章

网友评论

      本文标题:activity singleTask 探究

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