我正在開發一款適用於iPad的遊戲。當我在ipad上運行遊戲時,ipad會自動關閉缺少內存的應用程序。 使用TexturePacker將圖像轉換爲pvr,但是從場景到場景都無法釋放內存。在cocos2d中開發遊戲的內存問題
[CCTextureCache sharedTextureCache] removeUnusedTextures];
[[CCSpriteFrameCache sharedSpriteFrameCache] removeUnusedSpriteFrames];
我正在使用這些行,但還不夠。
有什麼想法?
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFrames]; [[CCTextureCache sharedTextureCache] removeAllTextures]; 我正在使用這些行。我應該犯一個錯誤,但我沒有注意到。 還有什麼想法? – PedroMeira
您也可以嘗試將類別添加到'CCTexture2D'並覆蓋'init ...'&'dealloc'來更新靜態'NSMutableArray',然後在設置場景之前將其打印出來。這樣你可以看到是否有紋理仍然沒有被釋放。重要提示:將它們添加到'NSMutableArray'作爲非保留。 –
@TomaszZabłocki:我爲人不知道如何將對象添加到NSMutableArray而不增加其保留數。事實上,這是防止紋理從緩存中移除的一種方法。 – YvesLeBorg