cocos2d x記憶體管理原則

2021-06-27 12:55:04 字數 374 閱讀 9414

使用cocos2d-x開發遊戲時記憶體管理的原則:

1.程式段必須成對執行retain()和release()或者執行autorelease()來開始和結束物件的引用;

2.工廠方法返回前,應通過autorelease()結束該物件的引用;

3.物件傳值時,應考慮醒酒物件相同的特殊情況;

4.盡量使用release()而不是autorelease()來釋放物件引用,以確保效能最優;

5.儲存ccobject的子類物件時,應嚴格使用cocos2d-x提供的容器,避免使用stl容器,物件必須以指標形式傳入;

如果希望自定義類也擁有cocos2d-x的記憶體管理功能,可以把ccobject作為基類,並在實現類時嚴格遵守cocos2d-x的記憶體管理原則。

Cocos2d x 記憶體管理原則

2.3.9 cocos2d x 記憶體管理原則 程式段必須成對執行 retain 和release 或者執行 autorelease 來宣告開始和結束物件的引用 工廠方 法返回前,應通過autorelease 結束對該物件的引用 物件傳值時,應考慮到新舊物件相同的特殊情況 盡量使用release 而...

cocos2dx 記憶體管理

記憶體管理中經常遇到的問題 記憶體洩露,記憶體溢位。在cocos2dx中用的是引用計數和自動釋放池的技術,由於熟悉objective c語言,所以對這兩個概念不會很陌生。一 引用計數 引用計數是自動記憶體管理的基礎 在物件裡增加乙個引用計數,當外部引用增加時,計數器加1,當外部引用消失時,計數器減1...

cocos2d x 記憶體管理

呼叫了autorelease的物件,將會在自動 池釋放的時候被釋放一次。因為這個操作發生在 mainloop drawscene 後,這時候遊戲中所有的邏輯已經執行完畢,正是釋放無效資源的最佳時機。所以乙個物件被create後,將被放進pool中,其ref 數為1,當遊戲整個邏輯跑完,如果沒有增加r...