6

我在我的应用程序中遇到了一个问题。到目前为止,我一直在我的 iPad 3 上进行测试,偶尔在我的 iPad 1 上进行检查以确保一切正常。

我在我的应用程序中播放 UIImageView 动画,它在退出之前一直退出,只有“收到内存警告”消息。

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

现在我使用的是内存监视器工具。但是,我不明白我为什么要辞职。第一代。iPad 有 256MB 的内存。现在我知道我不能使用所有这些......有人说你不应该使用超过 100MB。

那是真正的内存,还是虚拟内存……或者是某种组合?我的真实内存始终在 20 - 25MB 之间,但虚拟内存在崩溃时约为 190 - 205MB。

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

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

4

1 回答 1

6

WWDC 2012 Session Videos页面中搜索iOS App Performance: Memory找到的 WWDC (Session 242) 视频会让你更好地理解 VM 和 real memory 的区别。

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

于 2013-02-12T19:06:03.257 回答