2010-06-26 60 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