2010-02-12 79 views
10

問題:我在解析XML文件時做了一個非常大的導入。對於每10個解析的託管對象,我想保存託管對象上下文並擺脫內存中的這10個對象,這樣一次內存中就不會有超過10個對象。我可以清除管理對象上下文嗎?

保存後,我如何清除上下文以便所有對象都從內存中消失?

回答

25

在這樣的情況下有四件事情要記住的事情:

  1. 包裝你在NSAutoreleasePool
  2. 循環定期保存上下文;然後
  3. 重置上下文與-reset
  4. 釋放並重新創建的自動釋放池

這將刷新所有內存的使用疏通脈絡。

+1

嘿馬庫斯!你不是那個寫這個大型核心數據書的人嗎?感謝你的回答。很確定這是最好的;) – dontWatchMyProfile 2010-02-12 20:32:29

+3

是的,我寫了這本書:) – 2010-02-13 15:58:45

+0

我認爲我們遇到了一些問題,這些說明不適用。我很想找出不同的。 SO用戶http://stackoverflow.com/users/1949877/scott-carter有一篇博文http://finalize.com/2013/01/04/core-data-issues-with-memory-allocation/。我們的問題與「NSTemporaryObjectID_default」部分相同。也參見http://stackoverflow.com/questions/9575994。 – 2013-05-16 13:03:42

相關問題