我尝试过CoreData for iPhone应用程序,但是在获取实体实例时会占用内存。释放后,内存使用量根本不会减少。有没有办法在低内存使用情况下对待它们。
谢谢。
答案 0 :(得分:3)
核心数据本身应处理内存警告。你不必担心它们。它将为您轻松管理对象并根据需要重新获取它们。
在你达到这种状态之前,你可以积极主动。
您可以使用NSFetchRequet
的{{1}}来限制从数据库中检索的数据。这将有效地使每个托管对象在内存中更小。您可以通过设置获取的实体数量(setPropertiesToFetch:
)来减小提取的大小,最后,在拥有一些托管对象之后,您可以通过发送setFetchLimit:
a来主动从对象图中修剪它们。 NSManagedObjectContext
消息。具体做法是:
refreshObject:mergeChanges:
将anObjectToRemoveFromMemory转换为错误。