位置: 编程技术 - 正文

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)

  • 出租房怎么算平方多少
  • 何谓关税
  • 租土地使用权建房
  • 增值税发票认证平台
  • 劳务分包人是实际施工人吗
  • 金蝶标准版如何结转到下月
  • 小汽车的增值税怎么算
  • 其他应收款账龄怎么算
  • 管理费用福利费和应付职工薪酬福利费区别
  • 购进蔬菜的进项税额
  • 净资产合计低于实际收益
  • 进项税核定扣除试点
  • 2018年出口总值
  • 建筑工程伙食费包括什么
  • 差额征税发票如何做分录
  • 税金计提多了怎么办
  • 购进的货物用于赠送
  • 适用增值税简易计税的项目
  • 商标设计人享有著作吗
  • 新手会计怎么入门做账
  • 公司开年会的费用谁承担
  • 怎么把公司账户的钱转到个人账号
  • linux查看系统信息工具
  • 复核内容有哪些?
  • SSDP Discovery Service 是什么可以禁用吗
  • win10任务栏颜色怎么调
  • 购进农产品发生非正常损失
  • 佛洛勒斯岛在哪里
  • php和ajax
  • 高德地图api是什么意思
  • php实现删除功能
  • 融资租赁的固定资产所有权归谁
  • 金碟软件如何查看明细账
  • yolov7训练自己的模型用 flask封装
  • php扫二维码
  • php怎么读取txt
  • python基本功
  • vuex中this.$store.commit和this.$store.dispatch的用法
  • 微信小程序开发者工具
  • 资本化支出的账务处理
  • mongodb建立索引的命令
  • 织梦使用手册
  • 工地装饰工程包括哪些
  • 个体对公账户是什么意思
  • sql查询排名前三
  • 小规模纳税人减半征收的六税两费
  • 必要报酬率和期望报酬率谁大更好
  • 本月增加的无形资产本月摊销
  • 固定资产置换存货
  • 住宿费报销该怎么报
  • 销货清单和发票金额不一致
  • 购买职工福利
  • 个人所得税手续费返还政策文件
  • 福利费与工会经费使用区别
  • 实缴制下未到位资金
  • 流量对比
  • 清洁服务公司账务处理
  • ubuntu开启图形化界面
  • 神舟平板寸劲开天
  • win10系统电脑无限重启
  • win10官方升级工具升级
  • win7pxe-mof:exiting pxe rom
  • win7电脑耳机插上还是外放
  • windows8音频服务尚未启用 怎么解决
  • 作战仿真理论与技术
  • extern定义函数
  • django实现登录注册功能
  • python如何不换行
  • perl中qw
  • windows配额
  • 利用jQuery及AJAX技术定时更新GridView的某一列数据
  • node.js利用cas实现单点登录
  • videoleap怎么加音频
  • 一个页面
  • 全面解析A型天秤座男
  • linux显示中文
  • 河南税务局申报表下载
  • 物业监控不完善怎么提意见
  • 湖北国家税务局发票查询
  • 简述绩效信息的收集原则
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设