一直以为在intent里加了FLAG_ACTIVITY_NEW_TASK标记,启动的Activity会被加入一个新的Task栈里,这种理解是错误的。
加了这个FLAG_ACTIVITY_NEW_TASK标记,不一定会启动一个新的栈,其步骤是:先查找有没有和这个Activity的affinity相同的task栈,如果有,则直接在这个task栈里启动,不然才创建一个新的task栈。
本文解析了在Android中使用Intent启动Activity时,FLAG_ACTIVITY_NEW_TASK标志的实际作用。文章澄清了一个常见误解,即添加此标志并不意味着Activity会被放置在一个全新的任务栈中。实际上,系统会首先检查是否存在与该Activity关联性相同的任务栈,如果存在则在此栈中启动Activity;若不存在,则创建新的任务栈。
一直以为在intent里加了FLAG_ACTIVITY_NEW_TASK标记,启动的Activity会被加入一个新的Task栈里,这种理解是错误的。
加了这个FLAG_ACTIVITY_NEW_TASK标记,不一定会启动一个新的栈,其步骤是:先查找有没有和这个Activity的affinity相同的task栈,如果有,则直接在这个task栈里启动,不然才创建一个新的task栈。
1136

被折叠的 条评论
为什么被折叠?