Instruments 中的 CoreGraphics 导致的大内存占用

Posted

技术标签:

【中文标题】Instruments 中的 CoreGraphics 导致的大内存占用【英文标题】:Large memory footprint caused by CoreGraphics in Instruments 【发布时间】:2010-11-04 12:29:34 【问题描述】:

我正在设备上的 Instruments 中为正在开发的 iPhone 应用程序进行一些性能测试。

我看到分配的两个最大内存块不是通过我的任何自定义方法(据我所知)。

截图 1:http://i.stack.imgur.com/yFFux.png

应用程序的背景是它是一个应用程序,它使用 CoreData 来使用 Web 服务并存储/显示数据。然后下载(异步)链接的图像,在应用程序中调整为更小的尺寸,然后显示新图像。我原本以为是图片的问题,但是在离线模式下测试应用程序,没有下载数据或图片,仍然出现 4.5mb 的大型 Malloc。

我正在努力确定内存占用的来源,并最终尝试通过 AutoRelease 池或其他方式减少/删除它。

【问题讨论】:

对不起,第二张截图可能是调用树中最重要的,但只能发布截图:imgur.com/ZL8JP 【参考方案1】:

从几张截图中很难诊断出内存问题。最好的办法是更多地了解仪器和内存分析,以便您自己确定问题所在。我强烈推荐观看WWDC 2010 session 310 - Advanced Memory Analysis with Instruments。它确实帮助我了解了我的应用程序中的问题所在。

【讨论】:

感谢您的建议,我已经遵循了。它帮助我找到了识别何时将其添加到堆中的第一部分,但它在 Instruments 中显示为 ,因此不确定如何管理它。有什么想法吗? 应用中的总有效字节数是多少?你泄漏任何内存吗?发现任何僵尸?

以上是关于Instruments 中的 CoreGraphics 导致的大内存占用的主要内容,如果未能解决你的问题,请参考以下文章

了解 Xcode 中的 Instruments,测试泄漏

Xcode 8.3+ 中的 Instruments 选项在哪里?

我在 UIAutomation/Instruments 中的第一个 Javascript

Instruments 中的 CoreGraphics 导致的大内存占用

通过 Instruments 中的脚本编辑器在 iPhone 应用程序中输入文本

检查 Instruments 中的内存分配