位置: 编程技术 - 正文

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)

  • 应交所得税的计税依据
  • 清包工可以有一部分小料吗
  • 资产负债表里的存货包括哪些科目
  • 请客户旅游算不算贿赂
  • 网上认证勾选平台登录不成功
  • 装载机属于哪种车型
  • 塔吊基础属于哪一类
  • 经营活动现金流增加的原因
  • 消费税的应纳税额的计算
  • 冲减预提费用
  • 无形资产后续支出计入什么科目
  • 贴现票据种类
  • 小规模附加税怎么计提分录
  • 免租与转租分别什么意思
  • 资产组可收回金额包含商誉的可收回金额吗
  • 出租设备计提折旧记什么科目
  • 劳务公司客户问题分析
  • 企业固定资产清单表格
  • 出口业务类型怎么写
  • 收到预付款是否确认收入
  • 企业借款利息收入企业所得税
  • mac文件权限限制怎么解决
  • linux网络设置在哪里
  • 华为鸿蒙系统开发平台
  • 外汇账户怎么做账
  • win10更新失败怎么回事
  • win11任务栏失灵
  • 公司帮员工代缴社保有风险吗
  • 承包合同包含的内容
  • window10解压
  • 我的电脑图标没了怎么恢复
  • 进货退回的会计处理
  • 企业重组的主要形式是什么?
  • 其他营业账簿印花税减免政策
  • 处理固定资产怎么交税
  • 收费公路通行费补费平台 APP
  • thinkphp3.0
  • 融资租入固定资产
  • 本期应纳税额减征额怎么算
  • 其他应付款个人在贷方表示什么
  • php判断https
  • 银行本票怎么办理转账
  • html 基础
  • 代扣代缴增值税附加税减免政策
  • 减值准备对当期损益的影响
  • 研发费用的范围包括哪些
  • 居民和非居民企业的区别是什么
  • 工会经费的开支包括哪些
  • 税控服务费减免月底怎样结转
  • 小规模纳税人零售收入含税吗
  • 内部往来划账通知单
  • 冲销上年多计提费用
  • 房地产公司房屋租赁管理办法
  • 不动产固定资产的区别
  • 工地上报销项目有哪些
  • 关于购买安保器材的报告
  • 代金券消费怎么入账
  • 运输服务和运输费有什么区别
  • 建筑业发票可以抵扣制造业进项
  • 理财中的非保本是什么意思
  • 所得税汇算清缴前取得跨年发票
  • 多个客户账款明细
  • Win Server 2008 r2 开启 Aero 桌面主题的方法
  • 注册表regsz是什么意思
  • 丢失的身份证补办后,原本的身份证还有用吗
  • windows7 ie
  • 苹果电脑安装macos怎么安装
  • 怎么在ubuntu上编程
  • centos7搭建lamp 详细
  • windows10不能在任务栏进行的操作
  • Linux如何查看硬盘分区
  • win系统找回删除文件
  • win7右下角无线网络连接图标不见了
  • javascript简明教程
  • 人事科负责人是否必须是党员?
  • 土地增值税清算条例与实施细则
  • 免抵退税办法不得抵扣的进项
  • 企业支付的年度报告审计费
  • 长沙市各个区的县市排名
  • 事业单位的会计制度是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设