今天重读文档,实验的时候发现 Activity 启动模式 FLAG_ACTIVITY_NEW_TASK 和 singleTask 有不同的行为,而官方文档说这两个行为一致,很奇怪
具体问题是:
假设有三个 Activity A,B,C
1、使用 Manifest 定义方式定义 B 为 singleTask,其它默认
A 打开 B,B 打开 C,C 再打开 B,此时 stack 中只有 AB,B 在 top,这是正常现象
2、使用代码添加 FLAG_ACTIVITY_NEW_TASK 标志,Manifest 都默认
同样 A 打开 B,B 打开 C,C 再打开 B (添加 flag ),此时 stack 里为 ABCB,B 在 top,仿佛 FLAG_ACTIVITY_NEW_TASK 标志没有起任何作用,跟 standard 一样
希望有大神可以帮忙解释一下,谢谢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.