由于iPhone上的内存不足,核心数据模型更新崩溃

时间:2011-05-01 22:55:21

标签: ios memory core-data core-data-migration low-memory

我的iPhone应用更新有我的核心数据存储模型的新版本。我正在使用自定义NSEntityMigrationPolicy。但是,在较旧的iDevices上存储大型核心数据(即内存较少),由于内存不足,它会在更新过程中崩溃。有哪些策略可以解决这个问题?

2 个答案:

答案 0 :(得分:0)

我还没有完成核心数据更新,所以我没有经验可以借鉴,但我怀疑最可能的原因是代码试图一次性加载所有内容。我建议看看是否可以批量进行X记录的迁移,因此处理开销较小。

答案 1 :(得分:0)

请参阅Core Data Model Versioning and Data Migration Programming Guide: Multiple Passes—Dealing With Large Datasets

基本上,您可以在可管理的块中进行迁移,而不是一次性迁移。在开始迁移之前,请检查可用内存。如果它很紧,警告用户你要使用较慢的方法。