【问题标题】:Examples of various launch modes of Activity?Activity 的各种启动模式示例?
【发布时间】:2015-08-16 09:39:53
【问题描述】:

所以我读到Android中的Activity有四种启动模式,如下所示

1) 标准:每次创建一个新的活动实例。

2) single top :与标准相同,但如果 Activity 位于堆栈的顶部,则将使用相同的实例。

3) 单个任务:每当创建此活动时,都会创建一个新任务。此外,所有任务中只有一个实例可用。

4) 单个实例:该活动将在一个新任务中创建,并且该任务将仅包含该活动。此外,只有 1 个该活动的实例可用于所有任务。

到目前为止,我没有在我的活动中使用任何启动模式。所以默认情况下,我使用的是标准启动模式。 我在徘徊,将使用其他启动模式的各种活动是什么。 Android 应用程序(如搜索、地图)是否也有使用其他启动模式的活动?

【问题讨论】:

标签: android android-activity


【解决方案1】:

这里有一些用途:

http://www.intridea.com/blog/2011/6/16/android-understanding-activity-launchmode

我曾经使用过一次单一顶部的活动,该活动由蓝牙和 wifi 的两个异步任务调用,这些任务基本上在收到来自服务器的响应消息后立即启动。有时两条消息会在 1 秒内到达并双重启动活动,这就是我发现启动模式的方式。

就原生 android 应用程序而言,我想说很难说出启动模式的幕后情况,但我会怀疑这条信息是否重要。你知道他们现在在做什么,所以在适用的时候使用 em :D

【讨论】:

    【解决方案2】:

    一般来说,只有两种常见模式:标准单顶,标准允许您拥有同一活动的多个实例,例如某人的个人资料将是标准午餐模式的好主意,因为您的应用中可能有多个配置文件。

    但如果您正在实施大厅活动,您可能希望将其设置为单顶,因为您不希望每次将某人返回到大厅时都启动新的大厅活动。

    另外还有两种模式:Single taskSingle Instance,都要求自己是栈的ROOT它们之间的区别在于 Single Instance 也不允许堆栈中的任何其他活动。

    您可能会将单实例用于某些安全应用,例如处理信用卡详细信息。

    而且 Single Task 可用于更新一些重要的用户信息,因此您要确保始终以干净和最新的方式开始。

    【讨论】:

      猜你喜欢
      • 2018-02-19
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 2020-11-25
      • 1970-01-01
      相关资源
      最近更新 更多