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

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

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

谢谢。

在此处输入图像描述

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

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

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

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

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

有关内存列的说明,请参阅实时字节和总字节的说明 。

正如@Brad指出的那样,也使用了内存监控工具。