位置: 编程技术 - 正文

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)

  • 农民专业合作社章程模板
  • 劳务公司的个税如何申报
  • 新个税税率法
  • 实收资本在报表中怎么看
  • 微信收入算现金流出吗
  • 预缴税款可以下调吗
  • 开发票 专业设计服务
  • 如何区分劳务报酬与经营所得
  • 会计核算制度包括哪些准则
  • 税负率怎么算计算公式举例说明
  • 不按出资比例取得分红怎么纳税?
  • 出口抵减内销产品应纳税额是借方还是贷方
  • 分配股利需要缴纳个税吗
  • 小规模企业给别人开16万增值税专用发票
  • 非独立核算的分公司如何报税
  • 单位付款方式
  • 企业所得税核定征收最新政策
  • 发票不验旧可以领取新的吗
  • 个体工商户是否需要缴纳印花税
  • 土地买卖所得税由谁承担
  • 建筑工程确认收入条件
  • 关于递延所得税的例题
  • 存货跌价准备怎么计提
  • 有限合伙创投企业
  • 增值税普通发票怎么开
  • 建筑施工企业在12个月内连续发生
  • 分配车间管理人员薪酬会计分录
  • 收取的开票税点放哪个科目
  • win10 搜狗
  • 苹果15promax参数
  • 计提城市维护费分录
  • 以前年度原材料调出怎么做会计分录
  • mac老款设备怎样升级os14
  • php中变量有哪些基本数据类型?
  • w11系统安卓
  • 理财产品利息税
  • 劳务费支出计入什么科目?
  • 贝尔·菲戈尔
  • 企业年金如何缴纳计算方法
  • vue 滚动条
  • 体验了才明白的作文范文
  • php源码破解
  • 权益法的比例是多少
  • 四种股利分配政策及适用情况
  • 加计抵减会计分录其他收益
  • 科技型中小企业享受优惠税收政策
  • 扣伙食费会计分录
  • 代缴员工个人所得税怎么做账
  • 特许权使用费收入按照收到特许权使用费的日期确认收入
  • 个体户是什么概念
  • 工会经费记在什么科目
  • 房屋租赁费属于变动成本吗
  • 内部往来科目设置在哪类下
  • 现金支票存根联和正联怎么盖章
  • 公户转私户的钱怎么退回来
  • 外币资本金入账汇率怎样选择
  • 发票怎么领用具体流程
  • 企业支付宝要手续费吗
  • 固定资产折旧方法一经确定不得随意变更
  • 个体户4年不注销有事吗
  • mysql索引方式有哪些
  • mysql 5.7.18 winx64安装配置方法图文教程
  • fedora设置
  • WIN10系统CPU占用率高
  • win10如何清除系统
  • centos8安装锐速
  • data.table
  • js移动端拖拽
  • 文档对象模型DOM主要作用是
  • html焦点图
  • linux释放cache
  • python处理文本文件代码优化
  • javascript编程技术
  • jquery 列表控件
  • js遍历table的td
  • android view view
  • 电子税务完税证明怎么打印
  • 上海《居住登记凭证》
  • 高新企业公布
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设