使用“2x”按钮时,iPhone OpenGL ES应用程序在iPad上被杀死

时间:2011-05-12 13:26:15

标签: iphone ios ipad opengl-es memory-management

嘿,我在这里遇到了一个奇怪的问题。

我有一个仅限iPhone的OpenGL ES应用程序,可以在所有支持的iPhone和iPod touch型号上正常运行。

在iPad上运行时,它按照预期在iPhone大小的窗口上运行,按下“2x”按钮一次将窗口按比例放大到预期的两倍,应用程序继续运行没有问题。 / p>

但是如果用户快速点击“2x”按钮3或4次,应用程序将被Program received signal: "0"消息杀死(根据我的理解,这意味着操作系统因使用太多内存而杀死了我的应用程序,是吗?)

我真正不明白的是,当iPad上下缩放窗口时,我的应用程序可能会占用更多内存?据我所知,我的应用程序甚至没有办法判断iPad是否以及何时这样做。我不知道我使用OpenGL ES的事实是否相关,但这个问题在我拥有的任何Cocoa Touch应用程序上都不会发生 - 尽管在其他两个OpenGL ES应用程序上也不会发生这种情况我有。而这个应用确实比其他任何一个使用更多的内存。

有人曾经或甚至没有听说过这个问题吗?谷歌搜索没有给我什么。

2 个答案:

答案 0 :(得分:1)

由于没有人发布直接回答(您的情况可能有点模糊),我建议如何继续前进并收集有关可能导致问题的更多信息。

查看Xcode中可识别内存泄漏的Instruments: Instruments User Guide

或者对于更友好的介绍,这是一个解决性能问题的视频,包括内存泄漏(以及如何找到它们)。 iOS Performance Optimization Video

答案 1 :(得分:0)

只是添加这个,所以这里有一些答案......

我从未弄清楚2x按钮到底发生了什么。

我当时修复它的方法是尽可能地优化内存使用量,懒惰加载所有可能的内容并在不使用时再次卸载。
奇怪的是,在任何受支持的iPhone或iPod touch型号上运行时都不会抱怨内存,即使是较旧的,但是只有在反复按下2x按钮时它才会在iPad上被杀...我猜这总是会的对我来说是一个谜。