【发布时间】:2016-11-29 04:04:31
【问题描述】:
Activity 有四种启动模式,标准、单顶、单任务和单实例。前面三个比较容易理解,应用比较广泛。但是直到现在,我还没有找到任何使用singleInstance的场景。
有人用过吗?
【问题讨论】:
标签: android launchmode
Activity 有四种启动模式,标准、单顶、单任务和单实例。前面三个比较容易理解,应用比较广泛。但是直到现在,我还没有找到任何使用singleInstance的场景。
有人用过吗?
【问题讨论】:
标签: android launchmode
SingleInstance 启动模式只能用于完全作为一个活动实现的应用程序。 一次只存在一个实例。系统不会向持有此类型的任务启动任何其他活动。它始终是其任务的单个成员,从这里开始的活动将打开为单独的任务。
【讨论】:
singleInstance 启动模式来获得此行为。标准启动模式也应该为您提供这种行为。一般来说,使用singleInstance 启动模式是个坏主意,除非您正在构建“主屏幕”替换。
从来没有理由使用singleInstance 启动模式。
如果您正在构建“主屏幕”替换或启动器类型的应用程序,您将使用singleInstance 或singleTask 启动模式来确保您的Activity 始终是其任务的根。这可以确保如果另一个应用程序启动您的 Activity,Activity 不会启动到调用应用程序的任务中,并且它还确保您的 Activity 只创建一个实例。
如果您正在编写“主屏幕”替换应用程序,您始终可以通过在启动其他活动时始终指定Intent.FLAG_ACTIVITY_NEW_TASK 来确保没有其他活动启动到您自己的任务中。在这种情况下,您可以使用启动模式singleTask。所以没有理由使用启动模式singleInstance。但当时 Android 的原始开发者可能并不清楚。
【讨论】:
singleInstance 启动模式。它是任务中的唯一活动。 因为这种启动模式不允许这样做。
【讨论】:
singleInstance 启动模式?”我>