位置: 编程技术 - 正文

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)

  • 变更税务所怎么操作
  • 纳税属于什么会计科目
  • 居民个税和非居民个税哪个高
  • 收到附加税退税的分录
  • 公司租房代房东缴纳租房税金
  • 申报同步更正
  • 分公司分开银行账户付款的好处
  • 个人投资者取得现金红利的过程不用支付利息税
  • 土地转让交哪些税种
  • 电子申报率较差的原因
  • 车位出售时要交什么税
  • 个人独资交什么税?
  • 利息支出税前扣除标准2020
  • 履约保证金需纳什么税
  • 没有计提12月底的工资
  • 水费适用税率
  • 工会经费的计税依据怎么算
  • 洗衣店每个月水电费多少钱
  • 红字发票勾选平台里有吗
  • 机动车发票认证了的发票怎么红冲
  • 质量抽样检查
  • 买办公用品花了100元如何做会计分录
  • 工会经费结余怎么记账
  • 收到免税苗木发票怎么做账
  • 外币账户利息结汇
  • 城市维护建设税计算公式
  • 汇算清缴所得税退回做账
  • 五险一金的记账凭证怎么填写
  • mac cpu
  • 预收和应收怎么转换
  • 编制合并财务报表时,下列各项中不属于子公司
  • 供电企业收费项目管理的暂行规定
  • 退税的项目有哪些
  • 外籍人员一次性奖金
  • php中strcmp函数
  • 瑞数5.5逆向笔记(纯扣算法)
  • vue3.0项目创建
  • 企业实缴各类税金的总额
  • 公司注册资金多好还是少好
  • php 清除缓存
  • 普票与专票的区别在哪?它各自的特点?
  • 金税盘证书已冻结怎么解决
  • 什么科目需要结转到本年利润
  • 含税价的基本定义是什么
  • 终止劳动合同赔偿金最晚多久发放
  • 营改增后建筑企业财务核算
  • 一般纳税人增值税怎么算
  • 残疾人个人所得税扣除
  • 差旅费属于什么支出类型
  • 企业如果为员工缴纳社保
  • 固定资产报废如何记账
  • 售后回租含手续费吗
  • 股东追加投资如不追加会怎样
  • 企业的一般账户可以转款到个人吗
  • 预付账款长期挂账的合理原因
  • 工业企业会计与管理论文
  • 印花税计提表怎么写分录
  • 个体工商户怎样申请开票
  • 苹果发布会最新消息
  • 新疆喀什地区身份证号码开头
  • ie8-ie11
  • wpr02
  • vc软件是什么软件
  • 设置pc
  • macbookair自带系统
  • macbookpro接听苹果手机电话
  • win10系统锁屏广告怎么取消
  • opengl画曲线
  • python 读中文文件
  • BootStrap glyphicons 字体图标实现方法
  • jQuery使用$.ajax提交表单完整实例
  • javascript教程
  • python多线程菜鸟教程
  • jquery属性选择器的基本
  • 安卓 存储权限 访问的地方是哪里
  • 纳税人识别号是几位数
  • 四川省税务局官方网站申报窗口
  • 如何办理清税证书
  • 黔西南州医疗保险报销比例
  • 申报土地增值税需要什么资料
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设