初窥Cocos2d-x内存管理机制(2)
来源:互联网 发布:mac 创建.gitignore 编辑:程序博客网 时间:2024/05/01 15:27
Cocos2d-x版本:cocos2d-2.1rc0-x-2.1.3
windows平台。
VS版本:VS2010.
继上篇,在Cocos2d-x中,当一个节点调用addchild()方法后,其被加载的子节点会调用自身的retain()方法。从源码可以看出。
代码如图():
其中insertChild()方法代码如图:
函数ccArrayAppendObjectWithResize()代码:
函数ccArrayAppendObject()代码
由此看出,addChild()方法会调用加载子节点的retain()方法。
测试方法如上篇,测试代码如下:
// on "init" you need to initialize your instancebool HelloWorld::init(){ bool bRet = false; do { ////////////////////////////////////////////////////////////////////////// // super init first ////////////////////////////////////////////////////////////////////////// CC_BREAK_IF(! CCLayer::init());/*省略了很多代码*/CCSprite* fish = CCSprite::create();CCLOG("retainCount after create: %d",fish->retainCount());this->addChild(fish, 0);CCLOG("retainCount after addChild: %d",fish->retainCount());this->setTsprite(fish); bRet = true; } while (0); return bRet;}void HelloWorld::menuCloseCallback(CCObject* pSender){ // "close" menu item clicked //CCDirector::sharedDirector()->end();CCLOG("retainCount after click button: %d",m_Tsprite->retainCount());}调试输出日志如图:
此处,计数总结结束。
备用,也希望能帮助到大家。
0 0
- 初窥Cocos2d-x内存管理机制(2)
- 初窥Cocos2d-x内存管理机制(1)
- 初窥Cocos2d-x内存管理机制(3)
- 2、COCOS2D-X内存管理机制
- cocos2d-x内存管理机制
- cocos2d-x内存管理机制
- cocos2d-x 内存管理机制
- cocos2d-x内存管理机制
- cocos2d-x 内存管理机制
- Cocos2d-x内存管理机制
- cocos2d-x 内存管理机制
- Cocos2d-x 内存管理机制
- cocos2d-x内存管理机制解析(一)
- cocos2d-x内存管理机制解析(一)
- cocos2d-x内存管理机制解析(二)
- cocos2d-x内存管理机制解析(一)
- cocos2d-x内存管理机制解析(一)
- cocos2d-x内存管理机制剖析
- CSS 3新特性学习----2D转换
- map的使用
- CookieManager.getInstance().setCookie
- 正则匹配电话号码,网址链接,Email地址
- 注意
- 初窥Cocos2d-x内存管理机制(2)
- 【script】一个打包应用的脚本
- ubuntu 64位中安装安卓应用包解析工具apktool
- linux source命令
- PJNATH介绍 -- 用于NAT穿透的ICE, STUN和TURN的开源库
- DAG单源最短路径
- android:layout_weight的巧妙应用
- 总是报The specified child already has a parent. You must call removeView() on the child's parent first.
- 严重: Skipped installing application listeners due to previous error(s)