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

Android 在OnPause或OnSaveInstanceState中保存游戏状态,android,android-activity,Android,Android Activity,我是Android的新手,我正在开发一款简单的迷宫游戏,用于教育目的。 我不知道如何响应OnSaveInstanceState和OnPause回调。 基本上我想保存游戏的状态,所以当方向改变或者用户按下后退按钮时,游戏应该从保存的状态恢复 我已经了解到,不能保证会调用OnSaveInstanceState。那我为什么要全部用呢?我很困惑 我应该使用哪个回调来保存游戏状态?我应该只使用OnPause并将游戏状态保存到设备内部存储器中的文件中吗 您将如何处理这种情况?onPause()和onSave

我是Android的新手,我正在开发一款简单的迷宫游戏,用于教育目的。 我不知道如何响应
OnSaveInstanceState
OnPause
回调。 基本上我想保存游戏的状态,所以当方向改变或者用户按下后退按钮时,游戏应该从保存的状态恢复

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

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


您将如何处理这种情况?

onPause()和onSaveInstanceState()之间的区别在于后者不属于
活动的生命周期。虽然您可以保证在任何情况下都会调用
onPause()
,但对于
onSaveInstanceState()
,情况并非如此。根据文档,持久数据应保存在
onPause()
上。例如,在<代码>活动> <代码> IES的正常导航期间,对代码< > SaveSeaStaseStave/OnRealEngestStand <代码>不被称为

我考虑游戏状态持久数据吗?所以我应该使用onPause方法。将GameState对象序列化到内部存储中的文件是否可以接受?我是这样认为的,但您可能会发现有人会对这一决定提出异议。当然,这也取决于游戏的constraints@Blackbelt我想知道你是否能帮我回答这个问题。我保证,这不是那种“为我解决这个”的问题。