cocos2d-x的内存管理机制release(),retain(),autorelease()

   每个对象包含一个用来控制生命周期的引用计数器,我们可以通过retainCount()方法来获得对象当前的引用计数值。

   在对象通过构造函数创建的时候,引用值就被赋值为1,表示对象由创建者所引用。

   在其他地方需要引用该对象时,可以调用retain()方法,使其引用值加1,表示获取该对象的引用权;

   在引用结束的时候调用release()方法,计数值减1,表示释放该对象的引用;


   关于autorelease()方法,其作用是讲对象放入自动回收池。当回收池自身被释放的时候,就会对池中的所有对象执行一次release()方法;

   回收池也可以手动创建和释放。虽然,cocos2d-x已经保证每一帧结束后会释放一次回收池,并在下一帧开始前创建一个新的回收池,

  但是如果在一帧之内生成了大量的autorelease对象,就会导致回收池性能下降。因此,在生成autorelease对象秘籍的区域的前后,

  最好能手动的创建并释放一个回收池。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值