【问题标题】:Core data managed object property retention核心数据托管对象属性保留
【发布时间】:2023-03-29 06:16:01
【问题描述】:

我的托管对象没有释放内存似乎有问题。我有一个 NSOperation 下载新信息,将其保存到临时上下文,然后将其合并到主上下文。所有这些都运行良好,但在分配工具中,所有新创建的属性在合并完成并且整个操作被解除分配后都保留在内存中。有没有什么办法解决这一问题?我试图重置临时和主要上下文和 refreshObject:,两者都没有解决这个问题。 谢谢!

【问题讨论】:

  • 在不查看代码的情况下进行调试非常棘手。如果在模拟器中模拟内存警告会发生什么?另外,您是否在上下文中使用了撤消管理器?
  • 这是添加托管对象的标准代码。内存警告不会清除分配的对象,并且上下文的撤消管理器设置为 nil

标签: iphone objective-c memory core-data


【解决方案1】:

确保在操作main 中首先创建NSAutoreleasePool。在您退出主服务器之前,请确保您 drain 池。这包括在方法结束之前返回,例如在 if 语句中。

【讨论】:

  • 谢谢你的建议,我忘了说我试过这个没有用。只有对象属性没有被释放,而不是对象。这些我自己也没有分配,是基金会创建的。
猜你喜欢
  • 1970-01-01
  • 2019-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-31
  • 1970-01-01
相关资源
最近更新 更多