Android:我什么时候应该使用singleInstance launchmode

时间:2016-11-29 04:04:32

标签: android launchmode

Activity,standard,singletop,singletask和singleInstance有四种启动模式。前三者相对容易理解和广泛使用。但到目前为止,我没有找到任何使用singleInstance的场景。

  

Some of the real use case is an Activity for Launcher or the application that you are 100% sure there is only one Activity

以前有人用过吗?

3 个答案:

答案 0 :(得分:1)

SingleInstance启动模式只应在完全作为一个活动实现的应用程序中使用。 一次只能存在一个实例。系统不会将任何其他活动启动到持有此类型的任务中。它始终是其任务的单一成员,从这里开始的活动将开启单独的任务。

答案 1 :(得分:1)

永远没有理由使用singleInstance启动模式。

如果您正在构建一个"主屏幕"替换或启动器类型的应用程序,您将使用singleInstancesingleTask启动模式来确保您的Activity始终是其任务的根。这可以确保如果另一个应用程序启动了您的Activity,则Activity不会启动到调用应用程序的任务中,并且还确保只有Activity的一个实例创建

如果你正在写一个"主屏幕"替换应用程序,您始终可以通过在启动其他活动时指定Intent.FLAG_ACTIVITY_NEW_TASK来确保没有其他活动启动到您自己的任务中。在这种情况下,您可以使用启动模式singleTask。因此没有理由使用启动模式singleInstance。但当时Android的原始开发者可能并不清楚。

答案 2 :(得分:-1)

如果您不希望任何其他活动成为任务的一部分,则会使用singleInstance启动模式。它是任务中的唯一活动。 因为这个启动模式不允许这样做。