1

我刚刚注意到 android 在后台杀死它后假装恢复你的应用程序,方法是在你之前的活动中重新启动你。

1) 我可以禁用此功能吗?

我的问题在于我的 ListsActivity。它传递了一个列表数组,其中包含要显示给用户的项目。有些是文件夹 - 选择后,我会打开另一个 ListsActivity,其中包含该文件夹内容的数组。例如,如果用户决定搜索特定文件夹及其子文件夹中的所有项目,则可以动态生成列表。

如果我的应用程序在我的 ListsActivity 中重新启动,我不知道没有该列表数组我在哪里。

2) 我该怎么办?

- 我不想在每次调用 onPause 时都保留数组。数组在树的顶部可能很大。更不用说后面历史中的所有 ListsActivity 了。

3) 如果我发现我没有列表数组,是否可以从 ListsActivity onCreate 无缝重启应用程序?我的意思是不显示 ListsActivity 然后闪烁到主要活动。

编辑 - 请注意,这涉及递归,因为用户可以在任何时间点在历史记录中拥有任意数量的活动。所以我还有一个问题:

4)如果以这种方式重新启动 - 当我回击时,我有完整的回击历史吗?这些活动中的每一项都必须重新创建,对吗?我打开了另一个问题来询问如何在这里进行测试:如何测试您的应用程序被杀死并重新启动?

4

1 回答 1

0

您可以在 onPause 中调用 finish(),当再次启动您的应用程序被重置时。或者您可以覆盖方法 onSaveInstanceState 和 OnRestoreInstanceState。

于 2013-03-18T21:59:23.650 回答