当前位置: 首页 > 知识库问答 >
问题:

Android:启动模式单实例

太叔烨霖
2023-03-14

我正在浏览单个实例的文档,并尝试了几个示例。在我的一个示例中,我有三个活动:A-

场景:

通过A和B导航到C后(即A-

问题

当从活动A按下后退按钮时,为什么活动B出现在前台?

其他场景:

类似地,从活动C如果用户按下设备主页按钮,并回来的应用程序长按主页,C停留在前台。但是后退按钮按流程需要C-

共有2个答案

邹祺
2023-03-14

医生给的

>

  • SingleInstance活动只能开始一个任务。它们始终位于活动堆栈的根部。此外,设备一次只能保存活动的一个实例——只有一个这样的任务。

    另一方面,“单实例”活动不允许其他活动成为其任务的一部分。这是任务中唯一的活动。如果它启动另一个活动,则该活动将分配给不同的任务

  • 朱梓
    2023-03-14

    从A-导航后

    现在当从B导航时-

    现在您按下BACK键,它完成活动C,并返回到任务中活动下面的活动,即C。你仍然有两个任务:前面包含C的任务,下面包含B的任务。

    现在您再次按下BACK键。这就完成了活动A(从而完成了持有A的任务),并将任务堆栈中的前一个任务带到了前面,即包含B的任务。您现在有一个任务:包含B的任务。

    在你的另一个场景中,从一个-

    现在你按下HOME按钮。你现在说你“长按回到应用程序”。这不完全正确。你不能“回到应用程序”。你只能“回到一个任务”。但是你有两个不同的任务:如果你做长按,你应该会看到两个任务。它们可能有相同的图标(除非您为活动B提供了不同的图标),因此您可能无法区分它们。如果您选择包含A和C的任务,那么该任务将被带到前面,活动C位于顶部。如果您现在按下BACK键,活动C将结束,活动C下的活动将显示活动A。如果您现在再次按下BACK键,活动A将完成,您将返回到HOME屏幕。包含B的任务仍然在最近的任务列表中,但是它不再在您的其他任务下的任务堆栈中,因为当您按下HOME按钮时,它就像回到零。你重新开始。您没有活动任务,所以所有任务都在一行中,它们不在堆栈中,也没有层次结构。

    此外,在你的问题中,你使用短语“退出应用程序”。这也不完全正确。按“后退”按钮的唯一作用是完成当前活动。如果当前活动是任务中的唯一活动,则它也会完成该任务。但是,它不会“退出应用程序”。特别是在您的情况下,因为您的“应用程序”实际上存在于两个独立的任务中。

    希望这是清楚的。

     类似资料:
    • 本文向大家介绍android 启动模式:相关面试题,主要包含被问及android 启动模式:时的应答技巧和注意事项,需要的朋友参考一下 1、standard:标准化启动模式 每启动一个Activity,都会重新创建Activity的新的实例,将其放在栈的顶部。不需要考虑这个实例是否已经存在。 每一次启动,它的onCreate()、onStart()、onResume()方法都会被依次调用。 2、s

    • 问题内容: 我在Android文档中读到,通过将Activity的launchMode属性设置为singleTop或通过将标志添加到我的Intent,该调用将重用单个Activity实例,并在回调中为我提供Intent 。我做这两种事情,而且每次都不会解雇。文档还说,它返回的是在首次创建活动时首次传递给它的意图。在我打电话的时候,我每次都会得到一个新的对象(我在另一个活动中创建了一个intent对

    • 本文向大家介绍Android Activity启动模式之standard实例详解,包括了Android Activity启动模式之standard实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android Activity启动模式之standard。分享给大家供大家参考,具体如下: Android的活动是通过任务Task来进行管理的,一个任务就是一组放在栈里的活动的集合,即所谓

    • 本文向大家介绍Android Activity启动模式之singleTop实例详解,包括了Android Activity启动模式之singleTop实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android Activity启动模式之singleTop。分享给大家供大家参考,具体如下: 在前面文章《Android Activity启动模式之standard实例详解》中,我们介

    • 本文向大家介绍Android Activity启动模式之singleTask实例详解,包括了Android Activity启动模式之singleTask实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了Android Activity启动模式之singleTask。分享给大家供大家参考,具体如下: 前面的文章介绍了Android 活动Activity的启动模式:standard 和

    • 本文向大家介绍Android中activity的启动模式,包括了Android中activity的启动模式的使用技巧和注意事项,需要的朋友参考一下 activity的启动模式一共有四种:standard、singleTop、singleTask和singleInstance,可以在AndroidMannifest.xml中通过给<activity>标签指定android:launchMode属性来