2011-04-27 53 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

相关问题