1

在我的应用程序中,我有一个加载视图,它通过访问 API 并将一些启动信息带回存储来设置应用程序。我将它临时存储在 Application 类中。数据类型的一个示例是可服务城市的列表。

流程是:

加载视图 -> 主菜单 -> 等等

如果我退出应用程序并返回,它通常从主菜单视图开始并点击 onresume 并且一切都很好。但有时,如果我等待一段时间,操作系统可能会清除一些内存,我会回来并再次进入主菜单,但这一次通过调用 onCreate 从头开始​​为该视图。但似乎应用程序数据已被擦除。

我只是想知道为什么,如果它正在擦除应用程序数据,它不只是从头开始启动应用程序吗?

清单中是否有一些指令可以使它做到这一点?请记住,我不希望它在暂停返回应用程序时重新启动应用程序。仅当操作系统清除应用程序数据时...

4

1 回答 1

2

当应用程序关闭以释放内存时,存储在您的Application类中的状态将丢失。即使您的应用程序以几种方式关闭,您也可以保存将持续存在的信息。

一种是使用共享首选项:Making data persistent in android

另一种是使用Bundles可能更符合您需要的内容:使用 Save Instance State 保存 Android Activity 状态

于 2012-05-09T16:30:33.830 回答