autoRelease-创新互联

cocos2dx采用的是引用计数的方式来管理对象的持有和释放。autoRelease

所谓引用计数就是说,每个对象都会有一个属性用来记录当前被几个地方引用了。在释放内存的时候会根据这个引用计数来确定是否要用delete操作符来释放这个对象占用的内存。

成都创新互联公司主营东兴网站建设的网络公司,主营网站建设方案,app软件开发公司,东兴h5微信平台小程序开发搭建,东兴网站营销推广欢迎东兴等地区企业咨询

具体见CCObeject的默认构造函数,retain和release方法。

当一个对象被加到CCPoolManager里面以后这个对象的引用计数还是1(如果没有别的地方调用它的retain方法的话)。

在CCDirect的主循环方法mainLoop里面会调用CCPoolManager的pop方法,pop方法的作用其实只有一个,把当前持有的对象的引用释放,同时调用每个对象release方法(有可能被释放也有可能不释放,这取决于引用计数)。

pop方法被调用以后,之前一次通过autorelease方法加到CCPoolManager中的所有对象的死活CCPoolManager都不再管了(已经放弃对这些对象的引用了)。

使用cocos2dx内存管理机制的一个正确规则,retain或new操作符和release必须成对出现,哪里构造的时候调了某个对象的retain方法,那在他的析构的时候就一定要调该对象的release方法。

autoRelease主要是用来管理在方法作用域内通过new创建的对象的释放的,以达到这种类型的对象的内存释放能像普通定义的对象一样在方法调用一结束就进行释放。


文章标题:autoRelease-创新互联
当前地址:http://bzwzjz.com/article/phcjo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 企业网站建设 成都网站制作公司 网站建设方案 成都品牌网站设计 网站制作 成都网站制作 手机网站设计 温江网站设计 成都网站建设 盐亭网站设计 成都网站建设 网站制作公司 网站设计 成都定制网站建设 成都网站建设公司 成都网站建设公司 网站设计制作报价 高端网站设计推广 成都响应式网站建设公司 网站设计 定制级高端网站建设 移动网站建设