1. 程式人生 > >cocos內存管理

cocos內存管理

方法 對象的引用 obj 結束 png sep ima 對象 array

幾個關鍵方法:

AutoreleasePool類中的clear方法,在每一幀的最後,會將_managedObjectArray中的autorelease對象移除,同時對每個對象執行一邊release方法。

技術分享圖片

Ref類的release方法中,對引用計數減1,如果引用計數等於0,則釋放這個對象。

AutoreleasePool其實只保留一幀內創建的Autorelease對象,如果在這一幀內,該對象的引用計數沒有增加,也就是說沒有附加到父節點上,沒有對其執行retain,引用計數沒有加1,仍是創建時候的1的話,那麽這個對象在一幀結束時,調用release,就會釋放掉。

如果這個對象在clear之前,附加到了父節點上,那麽它就不會釋放掉,但是會從池中移除。等到它從父節點remove的時候,會執行release,從而達到釋放內存的目的。

cocos內存管理