我目前正在为Android设备开发RPG游戏,并刚刚实施了一种用于保存玩家进度的自定义序列化方法。保存过程可能需要半秒钟的时间,这足以发生崩溃(由设备(即低电池电源关闭),用户(杀死应用程序)或写得不好的固件/ ROM(内核恐慌引起) )等)。当应用程序意外退出时防止数据损坏
保存玩家数据时,旧玩家数据被覆盖。这意味着如果发生崩溃,并且保存过程因此被取消/中断,玩家的数据将会丢失。这显然不是理想的,在未来,游戏将节省更多的数据,节省的时间将会更长。这会增加在保存过程中发生崩溃的可能性。
我无法缩短保存时间,因为我正在编写游戏需要在应用程序重新启动后能够恢复的最小数据。
如果有的话,我可以采取什么样的万无一失措施来防止此类数据损坏/丢失的发生?
为什么不保存临时文件集,并在完成过程中移动/重命名它们,然后删除以前的保存文件? –
@SR_感谢您的回答。这似乎是一个好主意,也是我真正拥有的唯一选择。我可能会实现这样的事情。 – rodit