2009-09-28 87 views
0

我正在使用openGL爲iPhone編程一款益智遊戲。我的應用程序關閉時沒有任何警告或錯誤消息

有一個非常奇怪的「錯誤」(我不知道它是什麼)......每當我在很短的時間內在很短的時間內觸摸屏幕我的應用程序關閉,沒有給出警告或錯誤。

可能是什麼原因?我想這與記憶有關,但我想知道。

編輯: 我也認爲這是因爲我每次用戶觸摸屏幕或移動他的手指時調用多個函數。

+0

你在說模擬器還是iPhone? – jantimon 2009-09-28 14:48:57

+0

這隻發生在iPhone上,這種情況在模擬器中不會發生。 – 2009-09-28 15:05:40

+0

是您在調用委託時的低內存方法嗎? – Surya 2009-09-28 15:25:46

回答

2

聽起來就像是內存不足。

幾個簡單的技巧,可以幫幫忙:

  • 使用儀器檢查你的記憶曲線隨着時間的推移。如果隨着時間的推移你會看到一個穩定的傾斜,這很可能是內存泄漏,或者是一種分配的內存比你需要的低的算法。
  • 使用一個靜態分析器來幫助檢查泄漏,例如Clang
  • 圖像和圖像相關文件尤其需要內存,所以要關注它們的效率。當您在OpenGL中使用紋理時,請使用PVRTC格式,該格式提供超棒的壓縮。
  • didReceiveMemoryWarning: is your friend - 又一個很好的機會拋出你不需要的東西在記憶中。儘管如此,在整個過程中更好地保​​持記憶效率。
相關問題