2 wait never wait_never 于 2016.05.04 14:48 提问

求教android activity启动模式singleInstance

下面这个例子里,为什么第一个例子有2个task,第二个有3个task ? 我觉得都是2个。。。 谢谢!

程序有三个ActivityD1,D2,D3,三个Activity可互相启动,其中D2为singleInstance模式。那么程序从D1开始运行,假设D1的taskId为200,那么从D1启动D2时,D2会新启动一个task,即D2与D1不在一个task中运行。假设D2的taskId为201,再从D2启动D3时,D3的taskId为200,也就是说它被压到了D1启动的任务栈中。

若是在别的应用程序打开D2,假设Other的taskId为200,打开D2,D2会新建一个task运行,假设它的taskId为201,那么如果这时再从D2启动D1或者D3,则又会再创建一个task,因此,若操作步骤为other->D2->D1,这过程就涉及到了3个task了。

2个回答

CSDNXIAOS
CSDNXIAOS   2016.05.04 14:52

测试应用主activityA设置为singleInstance                                                                
处于桌面                                                                
ACTIVITY MANAGER ACTIVITIES (dump......
答案就在这里:android-activity之启动模式singleInstance
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

sinat_20630273
sinat_20630273   2016.05.04 18:16

因为那是外部应用,设置singleInstance模式,都会新建task,第二个例子中从D2到D1或D3时,D1或D3肯定是先直接新建一个task不会和外部应用Other共用一个task的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!