我阅读了Android开发者指南和一些互联网文章,但我仍然对singleTask
和launchmode
感到困惑。让我们来看一个例子:
用户启动App1,Android会启动一个新的任务。假设App1按照以下顺序创建活动:
ActivityA -> ActivityB -> ActivityC
这就是task1的样子。
然后用户点击了主页按钮并选择启动App2,因此task1进入后台,Android启动了一个新任务:task2。用户做了一些操作:
ActivityD -> ActivityE
现在假设ActivityE
尝试启动ActivityB
,而ActivityB
的启动模式为singleTask
。
我的理解是task1再次回到前台,task2进入后台。现在task1看起来像这样:
ActivityA -> ActivityB
这意味着:
ActivityC
将从 task1 中移除,而 ActivityB 成为顶部 Activity。如果用户现在点击“返回”按钮,他将回到 task1 的
ActivityA
,而不是返回到 task2 的ActivityE
。
谢谢。