当我在 iPad 2 上分析我的应用程序时,它加载时分配的内存不到 1MB。当我在 iPad 1 上执行相同操作时,它加载时分配了大约 4MB。两者都更新到相同的 iOS 版本。这是正常行为吗?如果是这样,我能做些什么吗?
问问题
347 次
2 回答
2
我要调查的一种可能性是应用程序存储其资源的位置。iPad2 无疑具有更多用于纹理、声音 ram 等的 vram,因此它可能会将这些资源存储在硬件上,而 iPad1 则必须将它们存储在主机内存中并根据需要上传它们。一个快速的测试方法是对你的资源进行下采样,看看它对 iPad1 的影响是否比对 iPad2 的影响更大,如果是,那么这是一个合理的解释。
例如,如果您有 8MB 的图形,而 iPad1 有 4MB 的 vram 可用于纹理,而 iPad2 有 7MB 可用,那么 iPad1 会将 4MB 的纹理存储在 vram 中,而将其他 4MB 保留在主机 ram 中,而 iPad2 将存储7MB 纹理在 vram 中,另外 1MB 在主机 ram 中。
于 2012-09-21T14:38:28.317 回答
0
是的,这是一种正常的行为。这也取决于设备类型。例如,如果您分析 3G、3GS、4、4S 手机中的内存,您会得到不同的结果。这应该不是问题,除非它随着应用程序的使用而频繁增长。你用的是什么操作系统?你启用了ARC吗?
于 2012-09-11T18:18:51.690 回答