对于Activity,standard,singletop,singletask和singleInstance,有四种启动模式。前三个比较容易理解和广泛使用。但到目前为止,我没有发现任何使用singleInstance的场景。Android:我应该何时使用singleInstance launchmode
有任何一个之前用过吗?
对于Activity,standard,singletop,singletask和singleInstance,有四种启动模式。前三个比较容易理解和广泛使用。但到目前为止,我没有发现任何使用singleInstance的场景。Android:我应该何时使用singleInstance launchmode
有任何一个之前用过吗?
SingleInstance启动模式只能用于完全作为一项活动实施的应用程序。 一次只能有一个实例存在。系统不会启动任何其他活动到持有此类型的任务中。它始终是其任务的单一成员,从这里开始的活动将成为独立的任务。
您不需要使用'singleInstance'启动模式来获取此行为。标准启动模式也应该给你这种行为。一般来说,使用'singleInstance'启动模式是一个好主意,除非你正在构建一个“主屏幕”的替代品。 –
singleInstance launchmode将被用来当你不希望任何其他活动是task.Its在任务中只有活动的一部分。 由于此launchmode不允许。
我真的不认为这回答了这个问题。对于我来说,查看它是否正确是太长和无聊的,但它不回答OP的问题,即“我应该什么时候使用'singleInstance'启动模式?”_ –
已编辑的答案再次检查。 –
好的,为什么你只需要在任务中只有一项活动?仍然不回答这个问题:) – IlyaEremin
从来没有理由使用singleInstance
启动模式。
如果你正在建设一个“丝网之乡”更换或发射器类型的应用程序,你可以使用singleInstance
或singleTask
发射方式,以确保您的Activity
始终是其任务的根源。这可以确保如果另一个应用程序启动您的Activity
,那么Activity
不会启动到调用应用程序的任务中,并且还确保您创建的Activity
只有一个实例。
如果您正在编写一个“主屏幕”替换应用程序,您可以始终确保在启动其他活动时始终指定Intent.FLAG_ACTIVITY_NEW_TASK
,以确保没有其他活动能够启动您的任务。在这种情况下,您可以使用启动模式singleTask
。所以没有理由使用启动模式singleInstance
。但当时Android的原始开发者可能并不清楚。
参考http://stackoverflow.com/questions/3219726/android-singletask-or-singleinstance-launch-mode – sasikumar
这可能有助于:[了解Android Activity的launchMode:standard,singleTop,singleTask和singleInstance](https:/ /inthecheesefactory.com/blog/understand-android-activity-launchmode/en) – Sar