4

似乎有大量关于保存Activity状态的信息,但我在查找应用程序状态时找不到太多信息。

我正在寻找一些设计理念来解决我遇到的问题。我正在开发一个具有相当大数据模型(1-2 MB)的游戏。该模型存在于任何 Activity 之外,实际上有许多 Activity 都与它交互。这些活动是短暂的,一直来来去去。

我目前在我的应用程序中保留一个指向数据模型的指针,所有活动都通过它访问数据模型。如果我的应用程序被终止,我需要保存该数据模型,但是每次活动点击 onPause 时保存它太慢了,随着活动的来来去去,这种情况经常发生。

我需要一种方法来确定我的应用程序(以及我的数据模型)正在被破坏。我已经广泛搜索了这个方法或回调,但结果都是空的。

我将不胜感激任何建议。

4

1 回答 1

5

在查找应用程序状态时,我无法找到很多东西。

这是因为在 Android 中没有“应用程序状态”,就像在 Web 应用程序中一样。

但是每次活动点击onPause时保存它太慢了

虽然您的整个数据模型可能是“1-2 MB”,但对于任何给定的更改,更改的数据量将只是其中的一小部分。使用后台线程并且只修改已更改的数据。

随着活动的来来去去,这种情况经常发生

听起来你可能有太多的活动。

我需要的是一种方法来确定我的应用程序(以及我的数据模型)正在被破坏

这是不可能的。你永远不会发现你正在被摧毁。Android 可以并且将在没有警告的情况下终止您的进程,无论是应用户请求(例如,强制关闭、任务杀手)还是出于操作系统原因(例如,需要 RAM 来处理来电)。

欢迎您使用onUserLeaveHint(),当您的整个应用程序失去前台时,在许多情况下都会调用它,但我当然不会指望它作为持久数据模型这样重要的事情。

于 2012-08-25T12:20:32.780 回答