在我的应用程序中,现在似乎Core Data正忙于为不同的对象分配内存空间,但是,它永远不会释放那些内存。应用程序使用的内存随着运行的增加而不断增长。
是否调用了Core Data上下文(或其他内容)以确保清除所有内存? Core Data什么时候会释放分配的内存?
谢谢!
答案 0 :(得分:3)
即使核心数据已经完成了一个对象(可能不是你想的那样),垃圾收集器也不一定会立即收集它。
垃圾收集器有两种触发收集的方法:collectIfNeeded和collectExhaustively。前者不保证现在收集,后者可能会暂停您的申请。
您可以强制核心数据对其对象进行故障。有关详细信息,请参阅Reducing Memory Overhead。