位置: 编程技术 - 正文

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)

  • 小规模纳税人减按1%如何填报申报表
  • 劳务派遣差额发票0税率情况
  • 费用报销票跨月跨年可以吗
  • 年报资金数额要怎样填
  • 不得开具增值税专票情形包括
  • 工资出现负数怎么申报个税
  • 一般纳税人利润100万要交多少税
  • 劳务公司劳务工资做什么科目
  • 小规模核定征收需要做账吗
  • 支付境外软件服务怎么用
  • 纳税人申请退税需要报送的资料和证件有
  • 中小企业怎么避税
  • 资产负债表中无形资产是原值还是净值
  • 跨省工程需要什么条件
  • 无形资产增资需要缴纳个税吗
  • 公司收到股东的投资款以后怎么处理
  • 自查增值税补缴怎么处理
  • 运输企业营改增
  • 一般纳税人企业所得税计算公式
  • 付款凭证会计分录怎么写
  • 建筑公司一般纳税人增值税税率
  • 一般纳税人普通发票要交增值税吗
  • 住房公积金是福利费吗
  • 推迟确认收入的方法
  • 个体餐饮店交税吗
  • 个人业务费是什么
  • 控制上网速度的软件
  • win10右键没有打印
  • uefi+bios
  • 设备拆装费计入什么科目
  • 企业将自有资金无偿提供
  • 新版win10任务栏
  • 债券转让增值税例子
  • php枚举类
  • 物业收取停车费归谁所有
  • vue错误提示
  • 今天是520该说什么
  • php遍历目录
  • 微调是调哪里
  • 远程调试时,gdbserver运行在调试机
  • code .命令
  • python中拼接
  • 门诊收费票据能作为报销凭证吗
  • 生产企业出口退税政策
  • 印花税的缴税对象是
  • 公司欠款 法人
  • wordpress账号密码忘记了
  • 什么叫做应税劳务
  • 物流货损怎样处理
  • 注销营业执照的app
  • 商标注册费2000元记哪个科目
  • 不良资产处置公司违法吗
  • 电子退库收入怎么入账
  • 预计负债的账务处理
  • 进项税可以跨年结转吗
  • 挂靠企业电费如何处理?
  • 返聘退休人员工资标准
  • 无票收入怎么做账,要交税吗,填入增值税申报表
  • mysql与c++相连
  • 购物车功能实现思路
  • fedora linux安装教程
  • solaris教程
  • windows server core license
  • ubuntu sudo apt
  • mac怎么玩电脑游戏
  • 微软雅黑啥意思
  • windows10怎么老是蓝屏
  • iis7.0是什么
  • 在Linux上优化Mysql运行环境让你对Mysql更多了解
  • linux系统中限定系统口令的长度
  • [置顶] clauvio,Twitter小老鼠
  • opengl learn
  • javascript中对象一般由什么组成
  • css透明属性详解怎么写
  • jquery使用教程
  • node.js mac
  • android 加载更多
  • 如何在Android上使用cv库
  • 一篇文章的
  • 苹果关税多少钱一个
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设