【发布时间】:2016-09-04 20:29:56
【问题描述】:
我目前正在为 Android 设备开发一款 RPG 游戏,并且刚刚实现了一种用于保存玩家进度的自定义序列化方法。保存过程可能需要半秒时间,这足以发生崩溃(由设备(即电池电量不足)、用户(杀死应用程序)或编写不当的固件/ROM(内核崩溃)引起) ) 等)。
在保存玩家数据时,旧的玩家数据会被覆盖。这意味着如果发生崩溃,并且如果保存过程因此被取消/中断,则玩家的数据将会丢失。这显然是不理想的,在未来,游戏将保存更多的数据,保存时间会更长。这将增加在保存过程中发生崩溃的可能性。
我无法减少保存时间,因为我正在编写游戏重新启动后能够恢复游戏所需的最少数据。
我可以采取哪些万无一失的措施(如果有)来防止此类数据损坏/丢失的发生?
【问题讨论】:
-
为什么不保存在一组临时文件中并在该过程完成后移动/重命名它们,然后删除以前的保存文件?
-
@SR_ 感谢您的回答。这似乎是个好主意,也是我真正拥有的唯一选择。我可能会实现这样的东西。