2010-06-26 61 views
0

我正在将数据从一个模型版本迁移到另一个模型版本,但迁移导致设备内存不足并崩溃。更不用说它永远在设备上。我使用默认的迁移设置。迁移模型时内存不足

我想坏人是包含10 行的表格之一。这个表虽然没有改变,但是迁移仍然为它生成操作(可能是因为与其他表关联)。

任何想法,我可以做些什么来改善事情?当然,我可以手动抽出一些东西,但我真的想尽可能多地利用Core Data的好处。

回答

1

您最有可能在迁移过程中创建大量对象,而不是释放它们。您需要循环迁移小数据,并在下一步之前释放每个半字节所使用的内存。

核心数据模型版本和数据迁移编程指南Multiple Passes—Dealing With Large Datasets

+0

是的,这是到底发生了什么(我做了一些调试...),这恰是一种信息,我是寻找。 谢谢! – Krumelur 2010-06-26 17:19:57

+0

你能解释一下你如何处理这个问题。我有类似的问题(http://stackoverflow.com/questions/4479229/out-of-memory-while-doing-core-data-migration),但我不明白如何分裂迁移在多次通过。问题依赖于大量的实体,而不是实体类型的数量。因此,我不明白如何用不同的映射模型(=不同的实体类型)分割会有所帮助。 – Kamchatka 2011-01-04 16:52:16