cocos内存管理
Posted 精诚所至 金石为开
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos内存管理相关的知识,希望对你有一定的参考价值。
几个关键方法:
AutoreleasePool类中的clear方法,在每一帧的最后,会将_managedObjectArray中的autorelease对象移除,同时对每个对象执行一边release方法。
Ref类的release方法中,对引用计数减1,如果引用计数等于0,则释放这个对象。
AutoreleasePool其实只保留一帧内创建的Autorelease对象,如果在这一帧内,该对象的引用计数没有增加,也就是说没有附加到父节点上,没有对其执行retain,引用计数没有加1,仍是创建时候的1的话,那么这个对象在一帧结束时,调用release,就会释放掉。
如果这个对象在clear之前,附加到了父节点上,那么它就不会释放掉,但是会从池中移除。等到它从父节点remove的时候,会执行release,从而达到释放内存的目的。
以上是关于cocos内存管理的主要内容,如果未能解决你的问题,请参考以下文章