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

时间:2013-02-12 18:26:56

标签: ios memory-management instruments virtual-memory

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

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

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

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

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

以下是截图:enter image description here

任何人都可以对此有所了解吗?

1 个答案:

答案 0 :(得分:6)

通过在WWDC 2012 Session Videos页面中搜索 iOS App Performance:Memory 找到的WWDC(Session 242)视频将让您更好地了解VM与实际内存之间的区别。< / p>

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

相关问题