Closed zhang8615050 closed 4 months ago
我认真看了下源码及wiki,发现「在 crc 校验失败,或者文件长度不对的时候,MMKV 默认会丢弃所有数据。」源码也确实这么做的,所以有两点疑问。 因为我的项目中MMKV版本还停留在V1.0.18版本,想升级下最新的版本,阅读wiki的过程中发现,再v1.1.0之后的版本中,增强了recovery模式,再CRC文件中增加了例如文件长度等信息。 如果我们从较低的版本升级,较低的版本中CRC文件中并没有这些信息,是否会校验失败触发默认的恢复策略将文件数据清理? 如果为了保证升级的兼容,在覆盖安装的场景,是否可以在检测到校验失败后,通过修改默认的回调策略为OnErrorRecover,用于恢复文件? 或则有其他好的迁移方式吗?
Just upgrade to the latest version. It's all considered and handled.
我认真看了下源码及wiki,发现「在 crc 校验失败,或者文件长度不对的时候,MMKV 默认会丢弃所有数据。」源码也确实这么做的,所以有两点疑问。 因为我的项目中MMKV版本还停留在V1.0.18版本,想升级下最新的版本,阅读wiki的过程中发现,再v1.1.0之后的版本中,增强了recovery模式,再CRC文件中增加了例如文件长度等信息。 如果我们从较低的版本升级,较低的版本中CRC文件中并没有这些信息,是否会校验失败触发默认的恢复策略将文件数据清理? 如果为了保证升级的兼容,在覆盖安装的场景,是否可以在检测到校验失败后,通过修改默认的回调策略为OnErrorRecover,用于恢复文件? 或则有其他好的迁移方式吗?