位置: 编程技术 - 正文

cocos2dx 使用过程中内存管理的理解(cocos2dx 教程)

编辑:rootadmin

推荐整理分享cocos2dx 使用过程中内存管理的理解(cocos2dx 教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx运行原理,cocos2dx 教程,cocos2d怎么用,cocos2dx怎么用,cocos2dx用什么ide,cocos2dx用什么ide,cocos2dx4.0教程,cocos2dx官方教程,内容如对您有帮助,希望把文章链接给更多的朋友!

关于引擎内存管理的细节,网上有大量的详解,这里概括一下:

cocos2d-x 的世界是基于 CCObject 类构建的,所以内存管理的本质就是管理一个个 CCObject。

这里引入了自动释放池的概念,它的作用是:每一帧都检测池中对象的引用计数。为什么需要它?

>>使用create创建一个对象时候,我们可能并不立即使用,这时为了保证在使用之前不会被释放掉,就让它存活一帧,所以初始引用计数为1。

cocos2dx 使用过程中内存管理的理解(cocos2dx 教程)

>>如果当前帧结束了,仍然没有使用,则在帧过渡时,自动释放池会遍历池中的对象,使其引用计数-1,释放掉对象,所以下一帧就不存在了。

由此可见,创建的对象如果没有使用,则会交由自动释放池自动释放掉,不需要担心。那如何才算使用了呢?

》任何导致引用计数增加&#;&#;(>1)的行为都算是使用了:

最后列几个需要注意的地方:

1>CCArray创建之后,需要retain,在使用该数组的类中析构函数中release它。

2>new出来的对象,即不采用cocos2dx内置的内存管理方式时,尤其要注意手动释放delete,因为它没有添加到自动释放池中,导致初始时的引用计数1没有释放。

3>new和create的一个重大区别:没有走父类的init()函数。有些父类(例Widget)在init()中做了一些初始工作,此时new出来的对象缺少这部分操作(有些成员没有初始化),在释放的时候会报错。这种情况主要发生在new一个CCNode及其子类对象的身上。

[置顶] [寒江孤叶丶的Cocos2d-x之旅_]在Cocos2d-x中集成protobuf (Protocol Buffers) 原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列]博客地址:

Cocos2dx技术(三)——cocos2dx基本概念(五)场景 一、什么是场景场景是包含精灵、标签、节点和其他游戏UI元素的对象容器。场景负责游戏逻辑的运行和游戏内容的逐帧渲染。每个游戏至少需要一个场

[常见错误 及 解决方案系列]USE " cc.exports.* = value " INSTEAD OF SET GLOBAL VARIABLE" 原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的常见错误及解决方案系列]博客地址:

标签: cocos2dx 教程

本文链接地址:https://www.jiuchutong.com/biancheng/368919.html 转载请保留说明!

上一篇:2015-04-08---cocos2dx一个都不能死(含源码)

下一篇:[置顶] [寒江孤叶丶的Cocos2d-x之旅_29]在Cocos2d-x中集成protobuf (Protocol Buffers)

  • 资产交换的涉税处理
  • 企业所得税减免优惠政策
  • 结转增值税会计摘要
  • 开普票需要交税多少
  • 增值税纳税人是委托方还是受托方
  • 用友t3采购订单怎么录入
  • 财务人员办理会计业务
  • 公账转法人私账的注意事项
  • 公司不交工会经费的原因,风险说明
  • 个体户银行开户是开公户还是私户
  • 托管开票
  • 专门借款资本化时点
  • 工资发放凭证由谁出具
  • 股东出资方式和比例是否合法?并说明理由
  • 购入固定资产如何摊销
  • 企业银行余额
  • 支付的劳务派遣服务费现金流量
  • 企业事故赔偿支出可以抵税吗
  • 不开发票的收入怎么处理?
  • 砂石加工行业交什么税
  • 缴纳了土地增值税怎么退
  • 学校需要开发票吗,学校的纳税人识别号是什么?
  • 外地预缴工会其他经费计入什么科目?
  • 应交税费的余额怎么计算
  • 去银行补充企业信息流程
  • 研发费用属于期余资产吗
  • 华为鸿蒙系统如何刷机
  • 以公允价值计量的投资性房地产
  • 年报企业控股情况怎么填
  • 劳务服务包括哪些范围
  • googlechrome谷歌浏览器
  • php中strrev
  • 销售使用过的固定资产怎么填申报表
  • 仙客来养殖方法和注意事项视频
  • php实验二
  • php定义的异常
  • 进项发票认证操作
  • php system函数的用法
  • 计提本月银行借款利息是收付实现制还是权责发生制
  • vue引入高德地图绘制多边形,编辑多边形
  • php正则函数内容匹配
  • vue3setup语法糖如何定义realtive数据
  • 增值税申报表期初未缴税额
  • 简单易学的前端框架
  • 电子专用发票抵扣
  • 与上级往来的会计科目的题目
  • 循环表是线性表吗
  • mysql查询表清单
  • 普通增值发票可以抵扣进项税吗
  • 购销农副产品需要交税吗
  • 什么情况企业需要调档
  • 新会计准则应付账款
  • 普通发票应怎么开具
  • 税控盘服务费小规模可以抵扣吗
  • 收取物业费不开发票
  • 进项税留底怎么处理
  • 公司注销后如何起诉他人
  • 以融资租赁形式的车贷没还上可以拖车吗
  • 工程项目前期费用包括哪些
  • 债权资产包括哪些科目内容
  • 防伪税控技术服务费减免的文件
  • 非营利组织会计科目账务处理
  • win7纯净版系统安装
  • shell 写入文本
  • surveyor.exe - surveyor是什么进程
  • w7系统怎么添加打印机
  • win8应用商店废了
  • rhel6.5安装
  • Win7系统如何打开摄像头
  • linux diff命令详解
  • ExtJS4 组件化编程,动态加载,面向对象,Direct
  • linux命令shell脚本
  • css对象
  • jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
  • javascript代码大全
  • js简单网速测试方法
  • python仿站软件官网
  • 副局长哪里任命
  • 省委巡视组收到的案件线索怎么分配
  • 深圳市国家税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设