【发布时间】:2012-03-17 01:16:45
【问题描述】:
我们有一个内存密集型 3D 应用程序,主要针对 iPad 2 和 iPhone 4S,但它也适用于 iPod Touch 4G 和 iPhone 3GS。我们发现 iPod Touch 4G 上较小的内存占用,再加上视网膜显示屏,使得该平台更容易出现内存不足错误。 iOS5 似乎也降低了可用内存。
根据我们使用的平台,降低 3D 模型的分辨率相对容易,但我们必须在加载之前设置该分辨率,因此我们无法根据来自操作系统。
我们根据反复试验调整了内存使用情况,但我们发现长时间(例如几个月)未重新启动的设备的可用内存比已重新启动的设备少得多最近。 (即使你杀死了所有正在运行的应用程序。)
我想知道其他 iOS 应用程序开发人员使用什么作为 iPod Touch 4G 应用程序的实际内存限制?
【问题讨论】:
-
我不确定是否有有用的答案。在我看来,这在很大程度上取决于用户在使用您的应用之前或期间在设备上所做或使用的内容。不知道你会如何概括它。
-
好吧,我宁愿我们的应用程序几乎永远不会崩溃,而且我认为其他在平台上拥有更多经验的应用程序开发人员可能已经知道这意味着“不要使用超过 X meg在 iPod touch 上”。但我一直无法找到那个答案。 (有一个 SO 问题暗示 70Meg,但我认为评论者只是在回应这个问题,并没有提供任何真正的见解。)
-
SO 刚刚提醒我这个老问题,我认为值得进行一些更新。事实证明,在所有情况下解决我们的记忆问题的关键是改用压缩纹理。实际上没有缺点:它们在运行时占用的内存更少,而且渲染速度更快。
标签: ios memory-management ios5 ipod-touch