0
A
回答
0
核心數據遵循相同的規則,在Objective-C的任何其他對象,除了有輕微的扭曲的建議。
核心數據將在內部決定何時釋放對象,因此,即使您已完成一個對象並且已經釋放了所有對該對象的引用,它也可能在此之後停留,具體取決於核心數據決定如何處理它。
另外,當一個NSManagedObject
被加載到內存中時,整個對象可能不一定被加載。 Core Data默認會加載對象的基本結構,但不會加載其數據或關係。這使初始內存佔用非常低。當你訪問一個屬性時,整個實例將被完全實現。
簡短的回答是:只要你遵循保留版本規則,你就不用擔心核心數據的內存管理。
0
它們在保留計數= 0時被釋放。
除非您以某種方式擁有它們,否則它們會在autorelease池刷新時消失。這假設你正在創建它們... insertNewObjectForEntityForName:inManagedObjectContext:
託管對象上下文仍然有記錄,但NSManagedObject服從相同的保留/釋放規則作爲任何其他對象。將NSManagedObject看作底層數據的運行時容器。
如果你想保持他們的保持使用一個NSArrayController的OS X或UIKit的一個的NSMutableSet是
相關問題
- 1. 核心數據數據庫值生命週期
- 2. 什麼時候核心數據驗證發生?
- 3. IPhone核心數據持久性和生命週期問題
- 4. 當人們說(寫)生命週期測試時,他們的意思是什麼?
- 5. ASP.NET頁面生命週期 - 在什麼時候執行SSL?
- 6. 什麼時候釋放GObject?
- 7. 當我們從核心數據中的另一個實體繼承一個實體時會發生什麼?
- 8. 核心數據實體命名約定
- 9. 與核心數據實體
- 10. 實體框架4 ObjectContext生命週期
- 11. 保留週期與核心數據
- 12. 核心數據和保留週期
- 13. 核心數據:什麼時候是deleteObject:完成?
- 14. JPA實體生命週期事件vs數據庫觸發器
- 15. 實體框架核心數據註釋數據庫生成的值
- 16. 使用核心數據發送消息更新實體釋放實例
- 17. Spring事務中的Hibernate實體生命週期和會話生命週期
- 18. 核心數據實體數組在IOS中釋放或刪除對象時產生崩潰
- 19. 按周分組 - 實體框架核心
- 20. 什麼時候應該釋放內存?
- 21. 什麼時候會釋放一個autorelease
- 22. 什麼時候釋放變量decodeSet1?
- 23. 什麼時候需要釋放內存?
- 24. 什麼時候在ASP.NET頁面生命週期中觸發DataBinding事件?
- 25. 表dataSource方法在生命週期中第一次調用什麼時候?
- 26. 什麼是核心數據中的故障實體?
- 27. 控制器生命週期ASP.NET核心WebApi
- 28. 壁畫聽衆,他們什麼時候被叫?
- 29. 什麼是MembershipProvider生命週期?
- 30. 爲什麼物體不能被釋放?
謝謝 - 這正是我正在做的。我只是不知道是否說1000多個實體被創建,有些會因爲內存限制或類似的東西而被釋放,甚至在我還沒有進入[池版本]之前。 – Slee 2010-08-12 14:16:22