位置: 编程技术 - 正文

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)

  • 网络课程购买
  • 调整税率后增值税发票的开具
  • 小规模纳税人差额计税情形
  • 成品油认证步骤
  • 超过认证期限的发票未抵扣能红冲吗
  • 利润表中的本期金额栏内各项数字一般根据什么填列
  • 没有以前年度损益调整这个科目,怎么增加?
  • 小企业应付职工薪酬核算内容的有
  • 公司投资股票有风险吗
  • 发票有误多交的钱怎么办
  • 如何查询对方是不是老赖
  • 幼儿园开学费发票内容
  • 发票联给错怎么办?
  • 空白发票丢失怎么写说明
  • 建筑行业挂靠什么意思
  • 未缴纳出资的股东未到期能否追加为被执行人
  • 公司股权转让的税费处理
  • 开票的时候开票人是管理员
  • 车辆保养计入什么二级科目
  • 政府补助不征税条件
  • 腾讯电脑管家中蓝牙在哪
  • 内账进项税不设置怎么账务处理
  • 递延收益的会计科目
  • agent程序
  • PHP:mb_parse_str()的用法_mbstring函数
  • 固定资产更新改造支出资本化
  • 土地投资入股是否缴纳土地增值税12366
  • 蓝桥杯等级
  • 契税发票遗失怎么处理
  • sload命令
  • php imagefill
  • 小规模纳税人广告费是什么票据类型的
  • YII Framework的filter过滤器用法分析
  • smarty怎么用
  • 代垫运费的增值税可以抵扣吗
  • 软件企业享受增值服务
  • springmvc常见问题
  • python编程自动化框架怎么搭建
  • 专票地址错了要作废吗
  • 销售费用计提分录
  • 报关单运费cny
  • 利息收入做账
  • 私对公可以转账吗?会对做账不利吗
  • 公司给部分员工长期停工怎么办
  • 销售费用福利费和管理费用福利费
  • 以前年度损益影响当期损益吗
  • 金税盘发票二维码怎么生成
  • 普票部分红冲发票需要收回原发票吗
  • 投资公司如何运作
  • 权益法下股权投资转让
  • 营改增后增值税税率的调整
  • 收到代持股权的账务处理
  • 去税局购买税盘要注意什么
  • 软件测试收费标准2019
  • 消耗性生物资产与生产性生物资产的区别
  • 公务机票保险费能报销吗
  • 电子承兑汇票如何入账
  • 固定资产折旧怎么算
  • sql server 数据查询
  • win10预览版退回正式版
  • windows2000修改ip
  • 硬盘安装在机箱内,属于主机的组成部分
  • 索尼vaio笔记本无法开机
  • windows1021h1新功能
  • 如何修改apache
  • win8.1技巧
  • linux kinit
  • easyui multiple
  • jquery时间格式
  • 完美解决雷电模拟器卡顿
  • js比较数值
  • shell 自定义函数
  • jquery瀑布流
  • android 自定义linearlayout 宽度计算不对
  • jquery.filedownload.js
  • 东莞市国税局南城莫
  • 税务逾期未申报是什么意思
  • 纳税信用等级在哪里查
  • 租房税多少钱
  • 税务负责人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设