//cocos2d-x ,因为是从cocos2d-iphone 移植过来的, 不是东西借鉴了iphone上面的东西, 比如内存管理 , 是模仿iphone的内存管理机制

//它是依靠retainCount 值来管理内存,当retainCount等于0时,内存会被真真的delete掉。当然要让cocos2d-x 来管理 对象 ,你所写的每一个对象必须继承 于ccobject .

1.new 出来的对象 ,初始retainCount 为1 , 这个对象 默认是由你 手动来释放的 (调用ccobject 的release , 此时retainCount 为0 ,cocos2d-x会delete 掉这个对象)。

2.如果 调用 了autorelease(),对象 就完全由cocos2d-x来管理,你不需要去手动release ,它会在某一时刻来自动release.

》需要注意的一点:

1. 当对象没有调用autorelease 时,retainCount 还为1, 那么需要你手动release.否则内存溢出。

2. 对象如果 调用 了autorelease ,但是后面你如果还想用到这个对象你需要 手工retain一下。 retain 会导致retainCount 加1 ,所以retain后,如果 你不想用了记得release掉。

Father * father = new Father;father->autorelease();CCArray *arry = CCArray::array();debugInfo( _T("arr retain count : %d  \n")  , arry->retainCount()  );debugInfo( _T("father retain count : %d\n")  , father->retainCount());arry->addObject(father);debugInfo( _T("father retain count : %d\n")  , father->retainCount());arry->removeObject(father);debugInfo(  _T("father retain count : %d\n")  , father->retainCount());arry->release();

cocosd-x 内存管理相关推荐

  1. jar包部署shell脚本编写,在服务器上部署jar包,在Linux服务器上部署服务,设置编码格式,设置内存管理

    准备步骤: 1.安装java环境,知道java安装目录 2.将jar包拖放或发送至服务器中(目录自定义) 一.编写shell脚本,将以下代码放在shell脚本中,将shell脚本放在jar包同级目录下 ...

  2. 垃圾回收 内存管理 python

    20220225 https://mp.weixin.qq.com/s/94SmSNEkwmz-Eu-hBUo0Lg Python的内存管理机制 在windows 中直接在任务管理其中关掉python ...

  3. BEP 7:CUDA外部内存管理插件(下)

    BEP 7:CUDA外部内存管理插件(下) Numba依赖 向库中添加EMM插件的实现自然会使Numba成为库的依赖项,而以前可能没有.为了使依赖关系可选,如果需要的话,可以有条件地实例化并注册EMM ...

  4. BEP 7:CUDA外部内存管理插件(上)

    BEP 7:CUDA外部内存管理插件(上) 背景和目标 在CUDA阵列接口使得能够共享不同的Python之间的数据库的访问CUDA设备.但是,每个库都与其它库区别对待.例如: • Numba在内部管理 ...

  5. Objective C内存管理之理解autorelease------面试题

    Objective C内存管理之理解autorelease Autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Aut ...

  6. 操作系统--内存管理方式

    "碎片的内存"描述一个系统中所有不可用的空闲内存.这些资源之所以仍然未被使用,是因为负责分配内存的分配器使这些内存无法使用.这一问题通常都会发生,原因在于空闲内存以小而不连续方式出 ...

  7. python基于值得内存_为什么说Python采用的是基于值的内存管理模式

    匿名用户 1级 2018-01-31 回答 先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计数 (3)内存池机制 一.垃圾回收: python不像C++, ...

  8. linux内核 -内存管理模块概图

    1.从进程(task)的角度来看内存管理 每个进程对应一个task_struct; 每个task_struct 里面包含指向mm_struct 的指针mm, mm_struct 里面的主要成员: a. ...

  9. linux内存管理 之 内存节点和内存分区(Zone)

    https://www.cnblogs.com/youngerchina/p/5624516.html Linux支持多种硬件体系结构,因此Linux必须采用通用的方法来描述内存,以方便对内存进行管理 ...

  10. 嵌入式linux学习笔记1—内存管理MMU之虚拟地址到物理地址的转化

    一.内存管理基本知识 1.S3C2440最多会用到两级页表:以段的方式进行转换时只用到一级页表,以页的方式进行转换时用到两级页表.页的大小有三种:大页(64KB),小页(4KB),极小页(1KB).条 ...

最新文章

  1. Python_基础知识储备
  2. Ubuntu18.04安装pymol
  3. SM_INTEGRATION_SRV
  4. 动态HTML处理和机器图像识别
  5. Cray:XC50提供了最高密度的性能
  6. windows平台下在Cygwin中运行Nutch1。2的抓取命令提示JAVA_HOME not set解决方案
  7. Bootstrap 插件-可切换导航栏
  8. tomcat7解压版安装过程
  9. 小型功率三极管S9013
  10. 小朋友Stem课程制作3D打印无人机
  11. 眨眼视频制作与生成活体视频生成
  12. windows环境中安装php的redis扩展及ThinkPhp5使用redis缓存
  13. 游戏开发之路-hxx
  14. 如何为360浏览器设置http代理服务器
  15. 从cas-overlay-template安装apereo cas 6.1.x并连接CAS客户端
  16. 空间一致性是什么意思
  17. 微信公众号最佳实践 ( 8.1)笑话
  18. Keil MDK使用第16篇---call stack +locals 调用堆栈值
  19. jeep智能手表软件测评中心的测试,功能强悍的Jeep智能表深度体验,用起来酷到没朋友...
  20. windows微信如何双开

热门文章

  1. 说文解字:‘靠’ 和 ‘操’ 含义的不同
  2. 摩尔投票法(Boyer–Moore majority vote algorithm)
  3. Java算法--第三章--排序(14)概述
  4. 微信公众号推荐:SQLServer
  5. 独孤九剑第四式-K近邻模型(KNN)
  6. Word插入公式自动编号+交叉引用
  7. verilog synthesis
  8. clock synthesis
  9. jeecg uniapp 微信小程序 授权备忘
  10. PHP面试常见问题(个人整理)