您如何看待XCode Instruments中负责内存分配的具体方法?

时间:2011-12-07 08:58:08

标签: xcode memory malloc instruments allocation

我被要求尝试减少应用程序代码中的内存使用量。该应用程序在模拟器中运行良好,但在设备上运行终止或其他东西,在调试时它进入“暂停”状态,应用程序在设备上关闭。

在运行仪器时,我发现泄漏,修复了它们,但是有大量的分配正在进行中。在启动后的几秒钟内,仪器分配跟踪显示“Malloc 16字节”的1,021 KB。这本质上是无用的信息,我需要看看内存的分配位置,但我似乎找不到任何有用的信息。我可以得到的更深入的检查是'dyld','libsystem_c.dylib','libCGFreetype.A.dylib'等分配了很多,但负责的调用者永远不是来自应用程序源的可识别方法。

如何在此处查看导致分配最多的方法?我需要降低这个用量!谢谢

2 个答案:

答案 0 :(得分:4)

打开扩展详细信息视图将显示内存分配的调用堆栈。选择查看>扩展详细信息以打开扩展详细信息视图。

切换到调用树视图将帮助您找到在代码中分配内存的位置。使用跳转栏切换到调用树视图。

答案 1 :(得分:0)

1MB没什么大不了的。在不使用1MB的情况下抛出完整视图无法做很多事情。

来自WWDC 2010(http://developer.apple.com/videos/wwdc/2010/)的精彩视频涵盖了使用乐器分析内存使用情况。标题是使用仪器的高级内存分析。 2011年可能会有更新的视频。