检查iOS应用程序在仪器中使用的内存

时间:2011-09-26 22:44:49

标签: ios ipad memory instruments

我想确保正在正确阅读分配插件。我正在测试一款接收内存警告的iPad应用程序1,2& 3。 我想知道我的应用程序当前耗尽的内存,我认为它必须是“Live Bytes”列?它将 All Allocations 标记为2.42 MB,我觉得它很低。

其他专栏报道了什么? #Transitory,整体字节? 此外,如果我的应用程序仅使用3 MB的内存,如果我在没有释放的情况下得到内存级别3警告,它就会被杀死吗?

谢谢。

enter image description here

2 个答案:

答案 0 :(得分:9)

请勿使用Object Allocations工具查看总内存使用情况。由于我在答案here中推测的原因,它没有显示应用程序的真实总内存大小。

相反,将Object Allocations与Memory Monitor工具配对,后者将显示应用程序的真实总大小。我愿意打赌它比你在Object Allocations中看到的2.42 MB更大(例如,根据ObjectAlloc,我有一个具有700k内存使用量的应用程序,但它的实际大小在内存中约为25 MB)。如果您在iPad上收到内存警告,那么您的应用程序可能会占用相当多的内存。

对象分配对于告诉您在内存中驻留的内容非常方便,但它并不能准确指示这些项目的大小。它也是一个很好的工具,可以通过使用堆射功能(仪器左侧的“Mark Heap”按钮)显示已分配对象的稳定增加。

答案 1 :(得分:0)

你的内存使用情况看起来不错。检查哪个应用程序正在发送内存警告,假设您的应用程序不在后台,可能不是您的应用程序。你应该获得内存警告的唯一方法是,如果应用程序在后台,而另一个应用程序需要更多内存。

当我查看日志时,我注意到其他应用程序在我的应用程序运行时获取它们,其他应用程序(如邮件或导航应用程序(Navigon))在后台运行并将导致内存压力。您可能会收到内存警告但不应终止。

有关内存列的说明,请参阅Explanation of Live Bytes & Overall Bytes

@Brad指出也使用内存监控工具。