如何处理内存使用率较低的Core Data实体

时间:2010-06-03 03:33:52

标签: iphone objective-c core-data

我尝试过CoreData for iPhone应用程序,但是在获取实体实例时会占用内存。释放后,内存使用量根本不会减少。有没有办法在低内存使用情况下对待它们。

谢谢。

1 个答案:

答案 0 :(得分:3)

核心数据本身应处理内存警告。你不必担心它们。它将为您轻松管理对象并根据需要重新获取它们。

在你达到这种状态之前,你可以积极主动。

您可以使用NSFetchRequet的{​​{1}}来限制从数据库中检索的数据。这将有效地使每个托管对象在内存中更小。您可以通过设置获取的实体数量(setPropertiesToFetch:)来减小提取的大小,最后,在拥有一些托管对象之后,您可以通过发送setFetchLimit: a来主动从对象图中修剪它们。 NSManagedObjectContext消息。具体做法是:

refreshObject:mergeChanges:

将anObjectToRemoveFromMemory转换为错误。