我的应用程序需要至少40MB的RAM,所以早期的iPhone(如3G,第一款iPod touch版本)就没有它(他们的应用程序最多只有20MB)。有没有正确的方法来禁用它安装到3G设备?我知道UIRequiredDeviceCapabilities,但它没有最小可用内存的参数。
答案 0 :(得分:4)
首先,您确定您的应用程序在旧设备上实际使用了40 MB的RAM吗?我发现(通过使用Memory Monitor仪器)相同的应用程序在我的iPhone 3G上使用的RAM比在iPhone 4或iPad上使用的RAM少。后两个设备的接口中有更多像素,因此我的应用程序在运行它们时会占用更多内存。
如果是,请确定您是否可以优化内存使用情况,以使其在旧硬件的安全(<30 MB)范围内。如果你能做到这一点,我认为你会看到应用程序的全面性能提升,即使是在新的硬件上也是如此。
最后,如果你绝对无法在较旧的iOS设备上运行,我建议使用UIRequiredDeviceCapabilities键armv7
或opengles-2
。要么过滤掉较新的(iPhone 3G S和更高版本)硬件。虽然没有关键的内存大小,iPhone 3G S推出的内存比旧型号显着更多,而不是设备,因为它已经少了。很难想象Apple在未来的任何时候都会降低这个规格。