1.引用计数
引用计数是现代内存管理中经常使用到的一个概念,它的基本思想是通过计数方式实现多个不同对象同时引用一个共享对象,具体的讲,当创建一个对象实例并在堆上分配内存时,对象的引用计数为1,在其他对象中需要持有这个共享对象时,需要把共享对象的引用计数+1,当其他对象不在持有该共享对象时,共享对象引用计数-1,当共享对象的引用计数变为0时,对象的内存会被立即释放。
在Cocos2d-x中,则定义了retain、release和autorelease函数,分别用于增加计数、减少计数以及将一个对象交给自动释放池对象AutoreleasePool进行管理,由AutoreleasePool对象负责调用release函数。
2.Ref类的讲解
在cocos中,节点类Node是绝大部分类的子类,如Sprite、Layer、Scene等,其父类为Ref类,Director类直接继承与Ref类,我们看Cocos源码就可以知道:
class CC_DLL Director : public Ref
class CC_DLL Node : public Ref
class CC_DLL Sprite : public Node, public TextureProtocol
class CC_DLL Layer : public Node
class CC_DLL Scene : public Node
retain()、