2013-05-16 35 views
2

我正在构建一款Android游戏。现在,我在主要片段的onDestroy()方法中保存用户状态的所有更改(SQLite中的匹配,SharedPreferences中的用户首选项以及其他文件中的数据)(该片段应始终保持活动状态,并可打开其他活动,如账户片段或播放片段)。何时保存应用程序的状态

如果我通过返回按钮退出应用程序,一切正常,因为onDestroy()的主要片段被称为。

问题是当我通过主页退出时,或者当主要碎片从操作系统中死亡时。在这些情况下,onDestroy()未被调用,所以游戏状态不会被保存。

我知道我可以解决,如果我将游戏保存在onPause()而不是onDestroy(),因为它总是被调用。但是在我的情况下,存储操作非常大(SQLite + SharedPreferences +文件,大量数据),并且在onPause()中这样做意味着效率低下。

是否有任何其他方式来管理?

+0

当onPause()被调用时,创建一个服务传递意图中的所有数据,然后执行该服务中的其余部分。我没有试过它只是一个想法,因为该服务将卸载您的主要工作从活动到背景 – Neo

回答

相关问题