首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android:launchMode="singleTask"的有关问题

2013-11-11 
android:launchModesingleTask的问题在2个singleTask的Activity之间切换为什么后start的Activity都会创

android:launchMode="singleTask"的问题

在2个singleTask的Activity之间切换

为什么后start的Activity都会创建新实例呢?

就是说:
A和B 相互跳转,
A.startActivity(intent)--->B.startActivity(intent)----->A.......
B每次都是新实例化的,

singleTask不是在 Task中找已实例化过的Activity么?
我理解错了?

求解!
[解决办法]
如果A 和B都是singleTask 的activity 是会出现这种情况的。

因为singleTask 的activity 都必须在task的底部,假设taskA中有一个activityA(1) 当A(1)->B 会新建一个taskB 把ACTIVITY B 放进去,当 B->A(2)时, 由于当前的TASKB中只有一个activity B ,而最开始的那个A(1)在taskA中故无法重用。所以,会再起一个TASKC 把 ACTIVITY A(2)放进去。

不知道解释清楚没。
[解决办法]
singleTask 表示这个activity 任何时候都在这个栈的底部。 不是单例的意思。

两个activity 都是singleTask 的, 互相startActivity,就只有重新建立新的栈来保证它们都在各自栈的最底部

热点排行
Bad Request.