关于Android:Android – 在进程被杀后恢复活动堆栈?

Android - restore activity stack after process killed?

根据我在互联网上的研究,我发现如果我的应用程序进程被系统杀死,下次用户返回时,系统将恢复活动堆栈。 也就是说,根活动之上的任何活动都会保留在那里,但只会重新创建最顶层的活动。 (看这里)

我通过在监视器(ddms)中杀死我的进程来测试它。 我没有看到活动堆栈恢复。 仅显示根活动。 所以我在这里缺少什么? 我还需要实现什么才能恢复堆栈?

我找到了"persistableMode"属性。 这就是我需要的吗?文档

还是android:alwaysRetainTaskState?文档


主要取决于用于发动意图的旗帜

例如

1
2
3
4
5
6
7
8
9
10
11
Intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

 /**
 * If set, this activity will become the start of a new task on this
 * history stack.
 *
 * This flag is generally used by activities that want
 * to present a"launcher" style behavior: they give the user a list of
 * separate things that can be done, which otherwise run completely
 * independently of the activity launching them.
 */

有关更多信息,请参阅API文档:

任务和后台堆栈

也可以看看:

  • 活动/片段生命周期

  • 处理亲和力

  • 保存活动状态

  • 保留任务

  • 处理运行时更改