问题描述
- 求教android activity启动模式singleInstance
- 下面这个例子里,为什么第一个例子有2个task第二个有3个task ? 我觉得都是2个。。。 谢谢!
程序有三个ActivityD1D2D3,三个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了。
解决方案
测试应用主activityA设置为singleInstance?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?
处于桌面?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?
ACTIVITY MANAGER ACTIVITIES (dump......
答案就在这里:android-activity之启动模式singleInstance
解决方案二:
因为那是外部应用,设置singleInstance模式,都会新建task第二个例子中从D2到D1或D3时,D1或D3肯定是先直接新建一个task不会和外部应用Other共用一个task的。
时间: 2024-09-14 05:44:02