2012-02-16 65 views
1

对于android我试图保持状态,如果调用onDestroy()。我想知道什么是常见的设计模式用于做这样的事情,以便实际的应用程序功能与持久性功能分离?例如,我有一个for循环遍历游戏中的所有玩家。此更新发生在游戏的每一轮结束时。应用程序会在更新过程中被破坏一半吗?如果发生了这种情况,我需要包括哪种逻辑来记住哪个玩家更新了。在Android应用上坚持状态的设计模式

+0

看看片段API – slezica 2012-02-16 23:44:13

回答

0

您的应用程序可以中途在更新过程中,如果用户切换到另一个应用程序如接到电话被杀死。

考虑到这种情况,您可能需要在onPause()而不是onDestroy()中保存状态,因为onPause()是保证在您的活动被系统终止时调用的最后一个方法。

而在的onPause(),就可以启动一个后台服务做的,可以给你的进程更高的优先级,以便它不太可能,当你正在做的更新被系统杀死了更新。

看到Activity lifecycleProcess文件的更多细节。

0

Android对杀死应用程序并不是很好。你可能会或可能不会停止或关闭。您可能会或可能不会收到虚拟机关闭的挂钩。基本上你的应用程序可以在任何时候死亡(低内存压力),用户杀死它,等等,你不会得到任何警告。基本上最好的做法是假定你可以在任何时候死亡,并在你得到它时立即存储或更新临界状态。

基本上我会做一个SQLitedatabase或为此使用共享首选项。