位置: 编程技术 - 正文

cocos2d-x内存管理的概括理解(cocos2dx减少内存开销)

编辑:rootadmin

推荐整理分享cocos2d-x内存管理的概括理解(cocos2dx减少内存开销),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx内存管理机制,cocos2d内存优化,cocos 内存优化,cocos2dx内存优化,cocos creator内存管理,cocos2dx内存管理机制,cocos2d内存优化,cocos creator内存管理,内容如对您有帮助,希望把文章链接给更多的朋友!

接触cocos一段时间了,总结下内存管理中的引用计数,简单点说吧,方便理解:

cocos2d-x内存管理的概括理解(cocos2dx减少内存开销)

首先,一个对象create的时候,它的引用计数会在底层的构造函数中被初始化为1,这就是为什么create出来的东西,_refCount会是1。

其次,当这个对象被别的地方引用的时候,它的引用计数会加1。何为被别的地方引用?不要太纠结了,因为本人纠结了很久,都有点对“引用”产生恐惧了,呵呵。最后通过断点观察到了真相,简单说,就是你操作这个对象的方法,其内部写了retain(),这就是所谓的“被引用”。比如,addChild(这个对象),你在用addChild去操作你的对象,最后对象的计数会加1。是因为addChild方法中,对“这个对象”执行了->retain(),这就是为什么addChild后,_refCount变成2;

重点来了,cocos2dx的主循环是怎么在干活的?第一,你创建的对象基本都是会调用autorelease()的,所以你的对象都放在了回收池中,回收池干嘛的?主循环每帧结束前都会把回收池里的对象清一次,这个“清一次”,就是让所有对象的引用计数减1,重点又来了,引擎内部是这样判断的,减1之后,马上会来个if判断,如果为_refCount为0了,就会执行delete this了。明白了吧,delete可是六亲不认的,真正从内存中释放掉这个东西。然后,重点又来了,主循环马上准备绘制下一帧,上次回收池清理后,还活下来的对象,重新被retain()了,所以你感觉你的东西一直在屏幕上,而且引用计数也没变(能明白吗?因为autorelease()是成对的retain()和release()的,release过后,稍等片刻就会retain了,这个“片刻”你基本观察不到,嘿嘿)。然而,如果上一次你的东西被delete掉了,这次绘制的时候就不在池子里了,此时,代码里面还存在的这个对象就好比“闻其名,而不知其身”了,当然就是不能拿来用了的咯,不然,就一声............蹦。

cocos2dx 中两个场景切换后,导致资源丢失解决方案 自己写的两个场景,两场景切换后导致崩溃。打断点,看日志,折腾了一天。然后发现是切场景时加载的资源被释放了。于是自己上网查了一下,主要

关于make: *** No rule to make target""问题总结 今天想编辑一下新写的一个小程序,结果maker的时候一直报错,一直提示错误结果上网搜索解决方法,得出结论就是文件名或者路径不对,我自己又核对

cocos2dx项目接入爱贝第三方支付sdk遇到的问题及解决方案 1.今天接入cocos2dx项目爱贝sdk,再点击计费点,游戏崩溃终止,我一直以为是自己的支付接口接的不对,一直修改,但是毫无进展,我联系了一下爱贝客

标签: cocos2dx减少内存开销

本文链接地址:https://www.jiuchutong.com/biancheng/372706.html 转载请保留说明!

上一篇:cocos2dx3.1.1版本的手机屏幕适配(cocos3.0)

下一篇:cocos2dx 中两个场景切换后,导致资源丢失解决方案(cocos 2d x)

  • 小规模税费如何做分录
  • 免税发票是普票还是专票
  • 残疾人保障金的工资按实发还是应发
  • 其他权益工具账务处理内容
  • 社保稳岗返还计算公式
  • 行政单位固定资产管理制度
  • 运输服务的增值税是多少
  • 注销公司账面余额要全部清零吗
  • 赔偿费计入费用减应收账款怎么做账
  • 企业所得税申报表A类
  • 美团代金券是抵用券吗
  • 固定资产更换零部件的入账价值
  • 房地产企业预收账款结转收入
  • 专票只有抵扣联发票联丢失怎么办
  • 摊销直线法会计分录怎么写?
  • 接受投资转入固定资产不影响现金流量变动
  • 债权投资的账务处理步骤
  • 接受投资转入的货物
  • 报废物资收入计入什么科目旧准则
  • 研发新产品成功案例简短
  • 营业外收入交税会计分录
  • 租入的固定资产属于资产吗
  • 如何从百旺开票系统中导出开票明细
  • 土地使用税每年都交还是交一次
  • 成品油发票长什么样
  • 待摊费用报价变更的会计处理怎么做?
  • 应付账款转营业外收入需要什么条件
  • 税基式减免的内容有哪些?
  • 股东以房产投资入股,增值税免吗
  • 银行存款和账面的关系
  • 一个药厂能够生产药品的三个前提条件
  • PHP If Else(elsefi) 语句
  • 租赁公司收到租赁费发票分录
  • 居民企业应纳税额
  • 前端框架view
  • echarts3d地图
  • 税收滞纳金可以抵税吗
  • php实现分页显示
  • 西部大开发税收优惠政策是什么时候开始的?
  • dtft与dfs
  • php反转
  • css伪类选择器实例
  • 什么是关联企业?关联企业之间业务往来
  • java一维数组从小到大排序
  • 税负率包含哪些税种
  • 上传附报资料是哪些资料
  • 公司购买基金入什么科目
  • 月初红字冲销暂估入账
  • 公允价值进行会计计量
  • 租赁合同的印花税怎么交
  • 基本账户的定义
  • 个体工商户定期定额怎么报税
  • 取得股息红利怎么交税
  • 补缴年报所得税怎么填
  • 汇算清缴退税分录
  • 外币资本金入账汇率怎样选择
  • 开办费列支范围
  • 公司帐户转到法人账户
  • 营业外收入计入哪里
  • 不含税价换算成含税价怎么算
  • linux彻底卸载软件
  • win8系统win10有什么区别
  • win8.1怎么样?
  • win8.1怎么关闭更新
  • win7怎么删除除了系统盘所有东西
  • win8系统安装条件
  • linux在u盘中运行
  • linux计划任务每天九点
  • 使用linux的电脑
  • 优质推荐
  • cmd命令进行ftp下载文件夹
  • js比较数值
  • unity获取物体的位置
  • 使用BMFont+NGUI利用图片制作自定义字体
  • 江西省国家税务局总局官网
  • 全国税务系统12366纳税服务热线工作规范
  • blueerdos和鄂尔多斯区别
  • 高新区地税办税服务厅
  • 按季申报印花税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设