将游戏状态保存在OnPause或OnSaveInstanceState中

时间:2014-03-17 08:05:47

标签: android android-activity

我是Android的新手,我正在开发一个用于教育目的的简单迷宫游戏。 我很困惑,我应该如何对OnSaveInstanceStateOnPause回调做出反应。 基本上我想保存游戏的状态,所以当有方向改变或用户按下后退按钮时,游戏应该从保存的状态恢复。

我已经读过,不能保证会调用OnSaveInstanceState。那我为什么要全部使用呢?我很困惑。

我应该使用哪个回调来保存游戏状态?我应该只使用OnPause并将游戏状态保存到设备内部存储器中的文件吗?

你会如何解决这种情况?

1 个答案:

答案 0 :(得分:2)

onPause()onSaveInstanceState()之间的区别在于后者不属于Activity生命周期的一部分。虽然您确实保证在每种情况下都会调用onPause(),但onSaveInstanceState()的情况并非如此。根据文档,持久性数据应保存在onPause()上。例如,在Activity之间的正常导航期间,不会调用onSaveInstanceState/onRestoreInstanceState