当应用程序在后台运行一段时间时,活动堆栈似乎被清除

时间:2012-07-13 22:45:16

标签: android android-activity android-lifecycle

我有一个具有以下流程的应用程序:

Loading activity -> activity 1 -> activity 2

在启动活动1后,使用finish()关闭加载活动。

单击主页按钮,然后在一段时间后重新启动它(似乎是30分钟或更长时间),我期待以下行为之一:

  1. 活动仍然存在 - 从活动2继续。
  2. 活动被杀死 - 从装载活动重启。
  3. 然而,会发生什么是该应用从activity 1开始。我假设这意味着活动任务已被清除,因为如果加载活动没有关闭,应用程序就会启动(但我需要关闭它)。

    这个假设是正确的还是背后有不同的解释?在这种情况下,为了让应用程序从加载活动中重新启动,可以做些什么?

1 个答案:

答案 0 :(得分:0)

您可以尝试在从加载活动启动活动1时向意图添加FLAG_ACTIVITY_NO_HISTORY标记。

    Intent intent = new Intent(this, A.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
    startActivity(intent);

一旦活动1被导航离开它就完成了。如果那不是合适的标志,则可以选择其他许多标志manipulate the history stack