首页 文章

具有'singleTask'启动模式的活动如何不是任务中的根活动?

提问于
浏览
0

这是来自android文档的图片:

enter image description here

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

UPD:

来自documentation

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

2 回答

  • 0

    单个任务仅表示此活动只能在cf网站上创建一次:http://inthecheesefactory.com/blog/understand-android-activity-launchmode/en

    活动是否为root无关紧要 .

    singleTask:此模式与标准和singleTop完全不同 . 具有singleTask launchMode的Activity允许在系统中只有一个实例(a.k.a. Singleton) . 如果系统中存在一个Activity实例,那么整个Task实例将被移动到顶部,而Intent将通过onNewIntent()方法传递 . 否则,将创建新的Activity并将其放置在适当的Task中 .

  • 0

    我认为答案是这个活动是以 FLAG_ACTIVITY_SINGLE_TOP 标志的意图启动的,因为意图的优先级高于xml标签 .

相关问题