首页 > 代码库 > retain函数

retain函数

一旦调用对象的autoRelease函数,那么这个对象就被Cocos2d-x的内存管理机制给盯上了,如果这个对象没人认领,那就等着被释放吧

 

必须要调用了对象的autoRelease函数之后,retain和release函数才会生效,否则,一切都是徒劳。

 

调用对象的autoRelease函数,对象就会被Cocos2d-x的内存管理机制盯上,在游戏的每一帧,内存管理机制都会扫描一遍被盯上的对象,一旦发现对象无人认领,就会将对象杀死!

如果不想让对象被杀死,那么就要调用对象的retain函数,这样对象就被认领了,一旦对象被认领,就永远不会被内存管理机制杀掉

 

addChild函数会调用对象的retain函数,当我们把对象addChild到CCLayer时(不一定是CCLayer,CCArray、CCNode都行),我们就不需要调用对象的retain函数了。

 

当你把一个对象作为成员变量时,并且没有把对象addChild到另外一个对象时,就需要调用retain函数。

retain函数