4

我的应用程序需要至少 40MB 的 RAM,所以早期的 iPhone(如 3G,第一个 iPod touch 版本)只是没有它(我的应用程序最多有大约 20MB)。是否有适当的方法来禁用将其安装到 3G 设备?我知道 UIRequiredDeviceCapabilities,但它没有最小可用内存的参数。

4

1 回答 1

5

首先,您确定您的应用程序实际上在旧设备上使用了 40 MB 的 RAM?我发现(通过使用 Memory Monitor 工具)同一个应用程序在我的 iPhone 3G 上使用的 RAM 比在我的 iPhone 4 或 iPad 上少。后两种设备的界面中有更多像素,因此我的应用程序在它们上运行时会占用更多内存。

如果是这样,请确定您是否可以优化内存使用以使其在旧硬件的安全(< 30 MB)范围内。如果你能做到这一点,我想你会在你的应用程序中看到全面的性能改进,即使在较新的硬件上也是如此。

最后,如果您绝对不能在较旧的 iOS 设备上运行,我建议您使用 UIRequiredDeviceCapabilities 键armv7opengles-2. 两者都将过滤较新的(iPhone 3GS 和更高版本)硬件。虽然没有重点关注内存大小,但 iPhone 3G S 推出的 RAM 比旧款机型大得多,而且从那以后就没有一款设备更少了。很难想象苹果会在未来的任何时候减少这个规范。

于 2011-01-27T17:18:12.110 回答