android 中 LaunchModes 的实际用例是什么?

what are the real-world use cases of the LaunchModes in android?

什么是一些应用程序示例或用例,其中(singleInstance、singleTask、singleTop)用于必要的目的。即为什么人们会偏爱一种启动模式而不是另一种?到目前为止,我对它们的体验是严格的笔记,因此了解它们的使用位置会很有帮助。谢谢!

据我所知,这意味着您不能启动一个 activity 的多个实例。

在我的示例中,我在主启动器 Activity 中使用 singleInstance,因为它有 Fragments,并且它是通过通知意图启动的。

如果在用户触摸 "home" 按钮后将 Activity 发送到后台,我不希望它通过通知意图从后台启动,因为它会显示最后看到的片段。如果我设置 singleInstance,它将始终启动 activity 的新实例并显示主要片段。

在我的例子中,我不能使用 singleTask,因为它在堆栈中保存我的应用程序的其他活动,但将主要的 activity 放在最上面。我不需要堆栈中的历史记录。

singleTop 仅当 activity 不在堆栈顶部时才在 activity 上启动新实例。如果它在顶部,它会从后台启动,这就是我的应用程序不需要的。

希望我说清楚了:)