位置: 编程技术 - 正文

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)

  • 丢失增值税专用发票最新规定
  • 购买财务软件可以抵税吗
  • 企业所得税季度预缴可以弥补以前年度亏损吗
  • 主营业务税金及附加怎么算
  • 费用报销怎么做账务处理
  • 购销合同需要盖合同章吗
  • 环保税申报表怎么填制
  • 中小企业开业税务登记所需资料
  • 出口货物保险免税
  • 单位车转到个人名下要什么材料
  • 购买货物运费怎么做分录
  • 税务行政复议范围不包括
  • 地税评为d级纳税人是指
  • 小规模纳税人的季度
  • 流转税率是什么意思
  • 2017 160号文件
  • 期末未缴税额是负数用于抵扣如何填报
  • 企业的停车违章怎么查
  • 扣缴上月税费会计分录
  • 农贸市场可以收什么的费
  • 资本公积 税务
  • 抽奖得奖
  • 出口布料有退税吗
  • 本年利润总账需要本年合计吗?
  • 虚拟机怎么安装iso镜像文件
  • 报纸公示具有什么法律效应
  • 汽车行业返利账务处理
  • 把d盘的空间分配到e盘
  • 发出材料成本差异会计分录
  • win10电脑电源选项怎样设置最好
  • 企业购进固定资产其入账成本应包括
  • 微无界是什么软件
  • 四川成都熊猫基地介绍
  • vuewatch监听对象及对应值的变化
  • 申报系统异常
  • 盈余公积提取和结转
  • php绘制图片
  • 公章是否必须备案
  • yolo目标识别
  • 人才引进的安家费
  • phpcms文档
  • 增值税发票有什么用途和作用
  • 帝国cms配置数据库
  • 帝国cms界面
  • windows7基本使用教程
  • 出口汽车配件怎么报关
  • 施工企业预缴税款
  • 个体户注销流程 就找三合一企服
  • 现金收支月报表
  • 月底如何结转成本
  • 商业保理怎么账务处理?
  • 外汇是先入帐还是先申报
  • 企业所得税如何规避
  • 运输公司的固定资产清单
  • 投资出去的钱如何入账
  • 小规模纳税人如何申请专票
  • 商业承兑汇票如何开具
  • sql 修改表的字段名称
  • windows 开始
  • win8怎么让我的电脑显示在桌面上
  • mac文档怎么传给winds
  • windows一键安装
  • mac用chrome
  • 如何使用升级助力器
  • apache80端口被占用的解决方法
  • win8程序无响应频繁
  • python中的命名规范
  • jQuery tagsinput在h5邮件客户端中应用详解
  • python urllib urlopen
  • 使用JQuery选择HTML遍历函数的方法
  • Qt Creater调试时一直出现:“DEBUGGER: Waiting for debug socket connect” 和“DEBUGGER: go to sleep”
  • android 实例教程
  • js easyui
  • 出租车票如何验真
  • 内蒙古国地税网上办税服务厅
  • 税务登记证办理
  • 天津户籍信息查询
  • 财务报表怎么填写
  • 数字经济与实体经济融合发展的理论探索
  • 长沙税务服务热线
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设