为什么从Activity Monitor和Instruments看到的内存消耗如此不同。

时间:2011-09-21 11:31:54

标签: ios cocoa-touch cocoa instruments

我的应用程序是一个音乐播放器,它与AV基金会不断从互联网上播放MP3。它有内存消耗问题。

当我使用Allocations或Leaks仪器查找原因时,活动监视器会报告50MB左右的内存消耗。 当我使用Product-> Run运行应用程序时,活动监视器最初报告的内存消耗为20MB,并且每秒增加100kB。他们为什么如此不同?

此外,Allocations或Leaks工具都有'Allocations'行。分配中的右侧条形逐渐变为红色。泄漏中的右侧栏总是蓝色。 “Allocations”行在这两种工具中的工作方式不同?我使用Xcode 4.1。

1 个答案:

答案 0 :(得分:0)

要回答最后一段中的问题,Allocations工具的配置与分配和泄漏模板的方式不同。在分配模板中,仪器跟踪所有内存分配。在Leaks模板中,仪器仅跟踪活动分配。直方图(右侧的彩色条)反映了活动分配与总分配的比率,蓝色表示高比率,红色表示低比率。由于Leaks仪器仅跟踪活动分配,因此活动分配等于总分配,为您提供蓝色直方图。单击“分配”工具旁边的“信息”按钮以配置其记录的内容。

如果要查看应用程序使用的内存量,请查看Allocations工具中All Allocations类别的Live Bytes列。另外,请看一下以下问题:

Xcode Instruments output interpretation for iPad app