位置: 编程技术 - 正文

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)

  • 出口货物适用什么税率
  • 带薪年休假如果当年离职补交的年休假钱需要扣个税嘛
  • 个人去税务局开普票,税率几个点
  • 生育津贴到公司账上怎么发给员工
  • 免交城建税的会计分录
  • 企业的内部银行
  • 代开专票收入未超30万税务怎么处理
  • 2019年小型微利企业优惠政策
  • 人力资源服务费发票可以抵扣吗
  • 当月发票不够用领用了下个月,下个月还能再领吗
  • 代扣代缴公积金有返还吗
  • 超过认证期限的发票怎么处理
  • 无形资产后续支出计入什么科目
  • 企业办理跨境人民币收付需要办理名录登记吗
  • 工程预付款需要监理审批吗
  • 计提的增值税比例怎么算
  • 红冲增值税专用发票需要收回原发票吗
  • 上年度职工工资总额
  • 股金属于金融产品吗
  • 收到进项发票抵扣联怎么做分录
  • 代建工地
  • 公司成立之初
  • 如何用腾讯电脑管家回复格式化U盘
  • php的注释可以使用什么开头
  • 社保退回的工伤怎么赔偿
  • 委托软件开发费用怎么入账
  • 返点收入怎么会计分录
  • 退回银行本票会计分录
  • avoid什么用法
  • 跨区域涉税事项报告表在哪里打印
  • mac快捷切换
  • php使用( )关键字来创建对象
  • react5
  • 公司账户的资金有利息吗
  • 印花税怎么从账上取数
  • 固定资产多少可以一次摊销
  • 车船税为什么没有发票
  • 长期股权投资内部交易抵消
  • 浏览器加域名
  • wordpress配置数据库
  • php脚本加密
  • mongodb的用户名和密码
  • 工会经费计提按应付职工薪酬借方还是贷方?
  • 开增值税专用发票的好处
  • SQLServer 2008中通过DBCC OPENTRAN和会话查询事务
  • 采用汇兑的方式归还前欠货款
  • 补交上年度企业所得税税额需要本年度纳税调增吗
  • 增值税零税率与免税谁更优惠
  • 增值税可以减免吗
  • 主营业务收入科目按其所归属的会计要素不同
  • 汇算清缴后取得上一年发票
  • 工程外地预缴会计分录
  • 固定资产清理账户借方的核算内容包括
  • sql命令语句
  • ubuntu20.10
  • vs显示进程已退出
  • windows 安装源
  • mac自动排序
  • linux的安装流程和详细内容
  • linux 常用系统
  • 查看win8.1版本
  • 照相机文件名
  • win7安装cad2022
  • win10预览版好吗
  • 批量装win7
  • 深入解析windows第7版
  • cocos屏幕适配方案
  • shell脚本for循环 计算1到100的和
  • 批处理中如何判断当前文件中是否存在一个子目录
  • cocos3.0
  • 搭建简单的spike课程
  • nodejs中向HTTP响应传送进程的输出
  • javascript nextSibling 与 getNextElement(node) 使用介绍
  • 微信气泡png
  • Python判断字符串结尾并输出yes或no
  • 残疾人就业保障金减免政策2022
  • 电子税务局申请开票额度增加
  • 企业的绿化用地暂免征收土地使用税
  • 退伍军人坐火车要钱吗
  • 期货手续费怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设