cocos2d 关于retain、release以及autorelease

来源:互联网 发布:js跳转指定页面 编辑:程序博客网 时间:2024/05/23 02:03

cocos2d中的内存管理采用引用计数的机制,当创建的节点使用retain则引用计数+1,使用release则引用计数-1,当节点的引用计数为0时,节点被自动释放,这个作用机制的前提是该节点对象调用了autorelease函数。
目前的cocos2d大部分类都有create函数,而create函数里面已经包含了对节点使用autorelease的部分。而像addChild的函数内部是包含调用retain的,因此不会出现出了其指针作用于就会出现指针变“野”的情况,也不需要开发者自己再对节点对象调用一次retain。
因此,记住必须要对象调用了autorelease函数之后,retain与release函数才会生效,所以建议用create函数创建对象。

0 0