这是来自android文档的图片:
活动Y具有'singleTask'启动模式,但它不是任务中的根活动,即活动X.它是如何发生的?
UPD:
“singleTask”
系统创建新任务并在新任务的根目录下实例化活动。但是,如果活动的实例已存在于单独的任务中,则系统会通过调用其onNewIntent()方法将意图路由到现有实例,而不是创建新实例。一次只能存在一个活动实例。 注意:虽然活动在新任务中开始,但“后退”按钮仍会将用户返回到上一个活动。
答案 0 :(得分:0)
单个任务仅表示此活动只能在cf网站上创建一次:http://inthecheesefactory.com/blog/understand-android-activity-launchmode/en
如果活动是否为root,则无关紧要。
singleTask:
此模式与标准和singleTop完全不同。一个活动 使用singleTask,launchMode只允许有一个实例 系统(a.k.a. Singleton)。如果有一个已存在的Activity实例 系统,整个Task hold实例将被移到顶部 而Intent将通过onNewIntent()方法传递。 否则,将创建新的活动并将其放置在适当的位置 任务。
答案 1 :(得分:0)
我认为答案是这个活动是以FLAG_ACTIVITY_SINGLE_TOP
标志的意图启动的,因为意图的优先级高于xml标签。