在iPad 1上分配的应用程序是iPad 2的4倍

问题描述:

当我在iPad 2上分析我的应用程序时,它的分配内存低于1MB。当我在iPad 1上执行相同操作时,它将分配大约4MB的负载。两者都更新到相同的iOS版本。这是正常的行为吗?如果是这样,有什么我可以做的吗?在iPad 1上分配的应用程序是iPad 2的4倍

+0

这听起来很奇怪,你是应用程序使用任何浮点代码/矩阵等? – Con 2012-07-23 18:15:48

+0

不在应用第一次加载时,并且在此之后很少。 – 2012-07-23 18:16:50

+0

所以寄存器数量越来越多。在一天结束时,内存仅被分配,其中大部分可能不会被主动使用。所以它不应该有很大的区别。 – Con 2012-07-23 18:28:01

是的,这是一种正常的行为。它也取决于设备类型。例如,如果您在3G,3GS,4,4S手机中分析内存,您将得到不同的结果。除非应用程序使用频繁增长,否则这不应该成为问题。你使用的是什么操作系统?你有没有启用ARC?

我想调查的一种可能性是应用程序存储资源的位置。 iPad2无疑具有更多的纹理,声音RAM等vram,因此它可能会将这些资源存储在硬件上,而iPad1必须将它们存储在主机内存中并根据需要进行上传。测试这种方法的一个快速方法是下载资源并查看它是否对iPad1产生了比iPad2更大的影响,如果是这样的话,这是一个合理的解释。例如,如果您有8MB的图形,并且iPad1有4MB vram可用于纹理,而iPad2有7MB可用,则iPad1会将4MB的纹理存储在vram中,另一个4MB保留在主机RAM中,而iPad2会将7MB的纹理存储在vram中,并将其他1MB保留在主机RAM中。