2011-04-27 55 views
1

打電話reset我的NSManagedObjectContext我應該考慮做什麼,當我得到一個低內存警告?這將是有點難以無效任何指針NSManagedObject的掛着,但我會處理,如果它的正確的事情做建議:我應該考慮[NSManagedObjectContext重置]在低內存條件?

還是將核心數據庫故障出NSManagedObject對象以減少其現場內存的大小?

我應該提到,此上下文是在App Delegate中創建的,因此通常適用於整個應用程序生命週期。我在後臺線程中也有上下文,但是線程結束時會得到dealloc'd()。

回答

5

核心數據會偵聽低內存警告,並會嘗試通過清除緩存,將錯誤對象排除在可能出現的位置等方式採取行動。

在我看來,這是使用Core Data而不是滾動自己的對象持久層的一個強有力的理由。

+0

感謝保羅,這也正是我所希望的!獲取核心數據的詳細信息可能有點難(不僅僅是使用示例)。 – Damien 2011-04-27 15:01:29

+0

+1我同意。內存管理基於Core Data的巨大優勢。 – TechZen 2011-04-27 15:34:10

+0

不幸的我來說,這似乎並沒有使用NSFetchedResultsController ...當只有這樣才能正確地清除緩存和故障的對象似乎是通過對managedObjectContext – TheCodingArt 2015-12-09 20:47:28

相關問題