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

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

概述   每个对象包含一个用来控制生命周期的引用计数器,我们可以通过retainCount()方法来获得对象当前的引用计数值。    在对象通过构造函数创建的时候,引用值就被赋值为1,表示对象由创建者所引用。    在其他地方需要引用该对象时,可以调用retain()方法,使其引用值加1,表示获取该对象的引用权;    在引用结束的时候调用release()方法,计数值减1,表示释放该对象的引用;  

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

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

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

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


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

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

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

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

总结

以上是内存溢出为你收集整理的cocos2d-x的内存管理机制release(),retain(),autorelease()全部内容,希望文章能够帮你解决cocos2d-x的内存管理机制release(),retain(),autorelease()所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1019973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存