Cocoa核心数据app循环内存上升

时间:2013-11-01 23:11:12

标签: objective-c xcode cocoa core-data memory-management

我正在开发一个可可应用程序,该应用程序接收并将大量数据存储到核心数据中(>具有许多反向关系的500K对象)。该应用程序必须不断循环运行。我遇到的问题是每个周期后分配的内存增长20-40兆字节(如xcode所示;当然,活动监视器显示相同的趋势)。

到目前为止:

  • 将对象插入自动释放池中的上下文的包装方法;
  • 重置上下文,undoManager nil,stalenessInterval 0;
  • 在周期完成时重新创建持久存储协调器(删除 - 添加存储);
  • 数小时的分析,但找不到泄漏原因

如果可以改进这些操作列表,我会感激建议,我的主要问题是我应该如何处理系统内存,我的应用程序最终会耗尽。因为它可能我不能再优化我的代码了。由于内存不足,我不能允许应用程序崩溃;所以我现在处理它的方式是,如果它的内存分配达到一些硬编码值(比方说,1 GB),我会重新启动它。

我不喜欢这个解决方案,所以希望有人能以适当的方式为我提供建议。或者有经验的人处理这种情况的方式。感谢

更新

在第一个周期结束时,从乐器和xcode的内存调试仪中添加快照。

enter image description here

enter image description here

0 个答案:

没有答案