我認爲這是一個內存問題,但我不確定在這裏做什麼。iPad在iPhone 3G和iPhone4不兼容時崩潰
我的問題:
我已經快完成了使用cocos2d中的iPhone遊戲,與視網膜GFX,我所做的應用普及,並已做了調整,使其在iPad上正確運行,大多我使用ipad上的視網膜spritesheets,以及一些額外的圖像(包含在-hd spritesheets中)來覆蓋屏幕邊緣等。
一切工作正常,iPad在遊戲中以60fps運行時,就像在iphone4上(我通常會在iPhone3g上獲得約40-50fps),然而,偶爾在iPad的菜單之間移動5分鐘左右之後(通常,但並非總是在卸載遊戲引擎並移回到米enus),遊戲就結束了。
在調試器中,當一個新的spritesheet或圖形加載後(不是立即),我收到了'接收到內存警告'(不是創建一個精靈,而是實際將新紋理加載到內存中) ,應用程序關閉,我在控制檯中獲得的所有內容都是'(gdb)',沒有堆棧跟蹤。我正在努力尋找解決方案,當從我的遊戲引擎移動到我的菜單時,我有一個加載屏幕,它主要是使用1個全屏圖像創建的,一些文本,所有其他紋理,spriteframe和預加載然後聲音在任何新的東西加載之前從內存中清除。
我試圖在儀器上運行帶有泄漏和分配的ipad,但一旦應用程序加載,儀器每次崩潰。
有沒有人碰巧知道ipad應用程序在關閉前的最大內存空間是多少(我以爲我會得到3個警告,而不是1),以及多少個2048 x 2048表單也可以等同?
編輯:(!發現不合理的記憶消失的事業新)
所以,幾周後,我碰上這個職位上的cocos2d的論壇。
http://www.cocos2d-iphone.org/forum/topic/31092
在iOS5中此錯誤很可能是我的煩惱的主要原因,所有的意見和建議,幫助,在我看來,我的應用程序收緊的全過程。
您是否爲可執行文件啓用NSZombieEnabled? http://www.cocoadev.com/index.pl?NSZombieEnabled – 2012-01-10 09:18:16
崩潰日誌不告訴你什麼? – 2012-01-10 09:24:22
沒有你可以依賴的固定內存量,如果你使用的內存超過了操作系統可以釋放的空間,那麼操作系統會殺死你的應用程序。如果我沒有記錯的話,ipad有iphone4的一半內存,而且你使用的是相同的大圖像。可能是因爲你漏了一些東西。你可以加載很多2048x2048表,沒有大問題 – Ultrakorne 2012-01-10 09:24:32