位置: 编程技术 - 正文

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)

  • 工会账怎么做
  • 进项抵扣联丢了怎么办
  • 什么时候过路费是半价
  • 对公账户给私人转账手续费
  • 应收账款包含应付款吗
  • 建筑劳务公司开劳务发票税率是多少
  • 金税盘地区编号淄博
  • 企业股东分红所得税税率表
  • 结构性存款质押 叫停
  • 签了合同没开票
  • 已认证发票退回的流程
  • 不同项目的进项税可以抵销项税吗
  • 实收资本退还
  • 增值税发票查验平台怎么查询发票
  • 上海奉贤区控规图
  • 未做账怎么补账
  • 小轿车折旧年限规定
  • 持有至到期投资减值准备
  • 超市打折优惠
  • linux系统中配置网卡ip地址的命令为
  • 收到多开的工程款怎么办
  • 枇杷叶的功效与作用及副作用
  • mac 快速切换输入法
  • 图书发行流程
  • 累积未分配利润为负可以分红吗
  • 取得交易性金融资产的交易费用
  • php curl_init
  • 微信小程序商城源码php
  • phpcms建站流程
  • 3d沙盒游戏推荐
  • 职工福利费属于短期薪酬吗
  • 如何理性看待国企改革
  • 织梦cms不更新了吗
  • 银行利息增值税发票
  • 报税财务报表一定要填吗
  • 商贸公司库存商品有哪些
  • java变量初始化的两种方式
  • mysql 数据库
  • 免费开源okr管理系统
  • pos机到账流水算个人收入吗
  • 结转完工产品成本的会计科目
  • 包装物押金销项税额的计算
  • 应付利息增加说明企业什么
  • 小规模纳税人应交增值税明细科目
  • Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
  • 对外担保产生诉讼费用吗
  • 社会组织志愿者参观泉州华侨历史博物馆
  • 银行支付结算管理办法
  • 暂扣员工工资应怎么处理
  • 合并报表编制方法有几种
  • 个税手续费返还奖励财务人员的文件
  • 支付宝企业账户在哪里查看
  • 上月有留抵税额本月怎么申报
  • 房地产核算
  • 设置mysql数据库字符集的语句
  • sql server 字符串操作
  • 桌面预览
  • 微软mission
  • windows共享功能
  • 无法识别的选项
  • win7系统的安装
  • win8系统如何恢复出厂设置
  • win7系统如何屏幕放满屏幕
  • win8点设置没反应
  • win8系统如何关机
  • javascript Function函数理解与实战
  • [置顶] [寒江孤叶丶的Cocos2d-x之旅_27]CocoStudio导出的LUA文件怎么使用?
  • javascript date format
  • 高级控件动态数据加载过程有哪些
  • iframe内容自适应缩放
  • angularjs1.5
  • 在线linux模拟环境
  • js设置导航固定
  • 批处理重命名文件名
  • 细说javascript
  • jquery鼠标位置
  • js register
  • 公司买社保公司倒闭了怎么办
  • 国家税务总局72号文件
  • 白酒消费税怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设