我們正在爲iPhone製作遊戲。我們已經完成了開發並試圖優化現在的遊戲內存。我們注意到,當我們在遊戲中加載特定的MVC時,並非所有分配的內存都被釋放(大約增加了4-5MB)。如果您持續播放該遊戲15-20分鐘,這會使遊戲的內存使用量非常高,並且在發出低內存警告後遊戲最終崩潰。減少iPhone應用程序的內存使用量
這是我綁
1.運行靜態分析儀上的遊戲和固定所有的內存泄漏和警告。
2.手動檢查所有類的dealloc是否被調用。這似乎很好。
3.也嘗試在Xcode中運行Allocations工具,但其中的大部分條目都是CFStrings,mallocs和CFNumbers等,但並不真正告訴我的哪些類來自它們。有更好的方法來使用分配工具嗎?
我也有一對夫婦的內存相關的問題
1.我們使用在遊戲中很多地方自動釋放對象,而無需使用一個自動釋放池。我的理解是自動釋放的對象應該在下一次運行循環中釋放,並且不應該造成如此大的問題?
2.另外,如果我通過xib文件加載圖像,它們會被iOS緩存。他們是否也會佔用內存?
我該如何解決我的內存使用問題。任何幫助,將不勝感激。 謝謝!
我敢肯定,autoreleased對象需要一個池來釋放該線程...... – DavidAndroidDev
@DavidAndroidDev真的,但應用程序的主要autorelease池通常就足夠了。如果需要,您可以擁有自己的autorelease池,但通常不需要。 – Rob
@Rob不是隻對主線程是真的嗎?如果你在後臺線程中創建對象,我相信它需要自己的池。我不確定OP的應用程序是否正在運行任何輔助線程,但我記得需要一個輔助線程的自動釋放池。我會看看我能否找到我發現的地方。 – DavidAndroidDev