2

即使我的应用程序仅分配 20 MB 内存并且显然没有泄漏,我也会收到内存不足警告(见下图)。我想知道这是否是由于我正在使用的某个 iOS 版本(部署目标 iOS 5.0 并在 iPod touch 第 4 代版本 5.0.1 (9A405) 上运行)。

内存不足警告

在模拟器中,这似乎没有出现。

有什么建议吗?

编辑:这是我发现但未使用 Cocos2D的类似问题。迄今为止,这个问题还没有答案。

4

1 回答 1

0

从屏幕截图中可以清楚地看出,分配显着增加,我会说是 5 倍或更多。这意味着您的应用程序在短时间内使用了 100+ MB 的内存,而大多数时候它可能只使用了 20 MB。

单击其中一个峰值上方的时间图,查看当时的内存使用情况,以及哪些对象使用的内存最多。内存警告可能比峰值稍晚一些,因此不要依赖它们的确切时间,但您可以看到警报发生在内存使用峰值之后不久。

阅读这篇文章,了解一些减少内存使用高峰的技巧。像使用 .pvr.ccz 图像文件格式一样,按从大到小的顺序专门加载纹理会有所帮助。避免使用 JPG 图像,它们在加载时会增加大量内存开销(因此加载速度也比其他格式慢很多)。

于 2013-03-29T17:01:34.767 回答