位置: 编程技术 - 正文

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)

  • 税收广度
  • 如何确定交易性金融资产
  • 代扣代缴个人所得税有滞纳金吗
  • 包装运杂费结转生产成本会计分录
  • 计提本月短期借款利息是权责发生制吗
  • 车间人员负担的工会经费
  • 外勤会计主要是干什么
  • 公司为员工买零食
  • 固定资产的原值是含税价?
  • 个体户未抄报不能领发票
  • 支付宝支付高速公路发票怎么打印
  • 自然人税收系统生产经营怎么申报
  • 残疾证挂靠一年多少钱
  • 土地转让如何缴纳增值税
  • 机票退票账务处理
  • 工会经费滞纳金是多少
  • 捐助建学校
  • 电子发票如何打印清单明细
  • 投资款怎样缴印花税?
  • 个人租车所得交什么税
  • 买了税控盘还需要买打印机吗
  • 其他资金账簿和资产账簿
  • 单位内部控制
  • 劳务外包开票税目由所提供的服务性质来决定
  • 债券溢价发行会计分录举例
  • 通过拍卖取得的车牌号,过期了怎么办
  • 华为手机定位另外一个华为手机怎么办
  • 企业间借款的增值税计算
  • 股份支付费用是股权激励成本吗?
  • 销售货物是什么意思
  • 借条字迹不清楚有效吗
  • PHP:pg_convert()的用法_PostgreSQL函数
  • ieview.exe 是什么
  • vue3.0 element ui
  • 年终奖发放形式 更改 税务局
  • php getdate
  • 发票抵税是怎么申报的
  • 布鲁克顿的一只狗叫什么
  • 试用期不交金后面补缴
  • 非正常损失如何处理
  • 基于什么意思
  • 核销固定资产时会计处理
  • uniapp示例
  • 人工智能内容生成
  • java编程入门基础教程
  • 微信小程序项目中的 ______ 文件是全局配置文件
  • php在图片上添加文字
  • 税控技术服务费280元怎么抵减申报不成功
  • 稳岗补贴什么时候到账
  • 帝国cms如何使用
  • 入库税款异常怎么处理
  • 小规模纳税人季度不超30万怎么做账
  • 织梦安装详细教程
  • python dup函数
  • 工程材料税票怎样抵税
  • 企业所得税季初和季末怎么算
  • 增值税申报表填错不影响税额
  • 安装sql server 2005,安装不成功怎么设置
  • mysql的性能优化方案有哪些
  • mssqlserver数据能删吗
  • 项目差旅费可以直接计入劳务成本吗
  • 医院要发票
  • 服装公司的会计怎么做账
  • 机票行程单可以打印几次
  • 个税租房抵扣细则
  • 如何冲减费用做账
  • 对公账户与私人账户都是一级
  • winxp和win7共享
  • win sth
  • pqtray.exe - pqtray 是什么进程 有什么用
  • eclipse cocos2dx Command line too long
  • Metaio in Unity3d 教程--- 一. 搭建环境,运行官方案例
  • Node.js中的核心模块包括哪些内容?
  • 简单的分享一下
  • 详解JavaScript ES6中的模板字符串
  • nodejs 异步io
  • javascript数据结构与算法
  • python爬虫京东
  • js延时加载的方法
  • 增值税归国家还是地方
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设