Activity启动模式系列(七)singleTask与singleInstance对Activity的销毁

博客通过两个场景分析了不同启动模式下Activity栈的情况。场景一中Test4为singleTask,应用A栈内部分Activity弹出销毁;场景二中Test4为singleInstance,出现三个栈,按回退键的顺序有变化,应用A栈回退受限。

场景一:应用A -->MainActivity--->Test1-->Test2--->Test3--->Test4--->Test5--->Test6--->Test7--->Test8

其中Test4是singleTask的

               应用B-->MainActivity--->Test4

此时查看栈情况可以发现应用A只有一个栈,

栈内分别是MainActivity--->Test1-->Test2--->Test3--->Test4

而Test5--->Test6--->Test7--->Test8都已经弹出销毁

 

场景二:应用A -->MainActivity--->Test1-->Test2--->Test3--->Test4--->Test5--->Test6--->Test7--->Test8

其中Test4是singleInstance的

               应用B-->MainActivity--->Test4

此时查看栈情况可以发现共有三个栈,

最底部的是应用A的栈,有MainActivity--->Test1-->Test2--->Test3--->Test4--->Test5--->Test6--->Test7--->Test8

其次是Launcher的栈

最上面是 Test4的singleInstance的栈,栈内只有一个Activity,Test4

其实还有一个应用B的栈看不到,应用B的栈应该是在Launcher上面

所以这个时候按回退键,应该是Test4-->应用B-->Launcher,这样应用A的栈只是回退的话就回不去了。

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值