【发布时间】:2011-10-23 11:37:24
【问题描述】:
我继承了另一个团队编写的使用 Core Data 的 iPhone 应用程序代码。在查看对象之间的关系以及如何在代码中创建/使用对象时,我意识到永久存储中存在内存泄漏。果然,当我从核心数据中删除所有顶级对象时,对象留下的地方。更重要的是,有一个操作将一个对象的值/关系复制到另一个对象,这会在 Core Data 中留下孤立的对象。
我已经解决了这些问题,Core Data 中不再存储任何新的孤立对象。现在的问题是,如何从已经使用泄漏应用程序的现有用户的永久存储中删除这些孤立对象,谁知道呢?
我最初的想法是将顶级对象复制到另一个 ManagedObjectContext。然后从原始上下文中删除所有对象。最后将顶层对象复制回原始上下文。有人对此有任何问题或有更好的主意吗?
【问题讨论】:
标签: iphone core-data memory-management memory-leaks