使用iOS上的Memory Monitor,虚拟内存消耗与实际内存之间的差异

我的应用程序中遇到了问题。 我一直在测试,直到现在主要是在我的iPad 3上偶尔检查我的iPad 1以确保一切正常。

我正在我的应用程序中播放UIImageView动画,它在退出之前只保留“已接收内存警告”消息。

我一直在仪器中使用对象分配工具,但据此,我的内存使用率很低。 所以在经过一段时间的研究之后,我发现了Larson先生的这篇文章: https : //stackoverflow.com/a/5627221/329900

现在我正在使用Memory Monitor工具。 但是,我不明白我为什么要放弃。 第一代。 iPad拥有256MB内存。 现在我知道我不能全部使用…有人说你不应该使用超过100MB。

那是真正的记忆,还是虚拟记忆…或者可能是某种组合? 我的实际内存一直在20 – 25MB之间,但崩溃时虚拟内存大约为190 – 205MB。

这是一个截图: 在此处输入图像描述

有人能够对此有所了解吗?

通过在WWDC 2012会话video页面中搜索iOS应用程序性能:内存找到的WWDC(会话242)video将使您更好地了解VM和实际内存之间的差异。

但这里有一个快速概述:指针范围= 2 ^ 32 = 4GB这比任何设备上的物理内存都大(苹果已发货)。 这是通过占用所有可用空间并将其分成4kb块来完成的。 并非应用程序可以访问的所有内存都在物理内存中同时存在。 这些4kb块是呼叫页面。 您的分配将从更大的虚拟内存块中分离出来。 然后,这些虚拟内存对象被映射到物理内存。