位置: 编程技术 - 正文

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)

  • 工资储备金制度
  • 收到劳务发票还未付款
  • 员工交通费可以税前扣除吗
  • 仓库出入库账本图片大全
  • 简易征收适用哪条法律
  • 小规模纳税人的起征点是多少
  • 填专项扣除对个人还是公司受益
  • 劳务报酬现金 过账
  • 税务证丢失可以注销吗
  • 利率与股价的计算方法
  • 企业购买房产可以抵扣增值税吗
  • 收回过去已确认的坏账
  • 增值税发票查验平台怎么查询发票
  • 看看大家退休的单子
  • 企业计提的安全生产费用年末应如何处理
  • 房地产企业收到房款账务处理
  • 仓库的租赁费
  • 出售无形资产是什么科目
  • 以公司名义购买房产的利与弊
  • 在linux中使用什么命令可以动态查看文件内容
  • macbookpro如何检测
  • paypal授权书怎么填
  • php curl_multi_init
  • 债务重组是什么工作
  • 银行承兑汇票贴现怎么算
  • 企业无偿借款的税务处理
  • yolov5的使用
  • split 文件分割
  • laravel日志管理系统
  • 销货退回与折让属于什么科目
  • 股东以房产投资公司
  • 筹备期间费用怎么做分录
  • 怎么用java写代码
  • 固定资产折旧率如何计算
  • sql server配置文件在哪
  • 成本费用利润率越高越好吗
  • 年报资金数额是什么意思
  • db2 insert timestamp
  • 去年留抵税额会计分录
  • 合并报表存货的计税基础
  • 小规模纳税人的税率是多少
  • 餐饮税务每个月多少钱
  • 小规模公司购买汽车会计分录
  • 研发费用 汇算清缴
  • 建筑业一般纳税人增值税税负
  • 购进业务:从国内购进生产用原材料
  • 股东预分配利润后如何返还
  • 专用发票不抵扣联可以当普票用吗?
  • 第二个季度
  • 2021年异地转账还收费吗
  • 会计账薄按其外形特征不同可以分为
  • mysql中的ifnull函数
  • mysql字段超长
  • 雨林木风 u盘
  • 查看运行中的程序快捷键
  • 如何看xp系统
  • win8系统之家官网
  • ubuntu20.04软件安装
  • windows资源管理器
  • chia 如何双挖
  • Ubuntu 15.04系统怎么安装Visual Studio Code 2015?
  • mac电脑虚拟机怎么安装
  • eve是什么文件
  • windows7怎么说
  • linux修改计算机主机名和用户名
  • grep正则表达式运用举例
  • pim架构
  • js数组常用的方法及用法
  • jquery文本框内容改变事件
  • 微信小程序实战入门 第2版
  • jquery插件开发方法
  • shell示例
  • 脚本被删除
  • 猫的所有视频
  • Android dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent详解
  • jquery实现图片横向移动
  • android:imeOptions属性
  • 征求意见稿 讨论稿 送审稿
  • 什么叫以物易物
  • 土地增值税分期清算条件?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设