0

这是来自 android 文档的图像:

在此处输入图像描述

Activity Y 具有“singleTask”启动模式,但它不是任务中的根 Activity,即 Activity X。它是如何发生的?

更新:

文档中:

“单任务”

系统创建一个新任务并在新任务的根部实例化活动。但是,如果活动的实例已经存在于单独的任务中,系统将通过调用其 onNewIntent() 方法将意图路由到现有实例,而不是创建新实例。一次只能存在一个活动实例。注意:虽然活动在一个新任务中开始,但“后退”按钮仍将用户返回到上一个活动。

4

2 回答 2

0

单任务只意味着这个活动只能创建一次 cf 到这个网站:http: //inthecheesefactory.com/blog/understand-android-activity-launchmode/en

活动是否为根并不重要。

单任务:

这种模式与standard和singleTop有很大不同。一个带有 singleTask launchMode 的 Activity 在系统中只能有一个实例(又名 Singleton)。如果系统中存在Activity实例,则整个Task持有该实例将被移到顶部,而Intent将通过onNewIntent()方法传递。否则,将创建新的活动并将其放置在适当的任务中。

于 2015-10-14T00:49:41.057 回答
0

我认为答案是这个活动是带着FLAG_ACTIVITY_SINGLE_TOP标志的意图启动的,因为意图比 xml 标记具有更高的优先级。

于 2015-10-14T19:48:11.557 回答