【发布时间】:2012-11-13 06:46:03
【问题描述】:
我有一个巨大的同步过程,我在其中下载并解压缩 400-500 个XML 文件,然后解析它。有了这些数据,我将在RestKit API 上创建很多核心数据对象。一开始,我有一个内存警告,实时字节为 450mb+,因为我没有使用自动释放池,只尝试在最后保存核心数据。
我修复了这个问题,现在经常保存到核心数据并使用 @autoreleasepool 块。当我现在使用仪器运行我的应用程序时,我可以看到实时字节如何只有 20mb-30mb,总是释放内存并且永远不会变大。这个过程很有效。但是当我在没有仪器的情况下启动应用程序时,在查看文件后我得到一个Memory Warning。后来应用程序崩溃。
使用和不使用instruments 工具运行应用程序有什么区别?为什么结果不同?
【问题讨论】:
-
一个区别是,通常使用 Instruments 进行分析会导致生成发布版本,而通过 Xcode 运行会导致生成调试版本。但不确定这会如何影响这种情况。
-
例如,您可以在调试配置中启用 Zombies,但在发布配置中不启用
-
伙计们——我就是喜欢这个平台。我只是不知道仪器正在使用发布版本。因为我的对象太大了,所以启用僵尸失败了。当我使用发布版本时,一切都像魅力一样工作。请给出它作为答案,以便我可以接受它。你不知道它对我有多大帮助。非常感谢:)
标签: ios restkit instruments didreceivememorywarning