cocos2d-x CCScene 场景对象如何自动释放
来源:互联网 发布:日系搭配知乎 编辑:程序博客网 时间:2024/06/06 00:20
CCScene对象自动释放的方法有两种:
第一种:
CCScene *scene = CCScene::create(); CCLog("scene ref:%d",scene->retainCount()); CCDirector::sharedDirector()->replaceScene(scene); CCLog("scene ref:%d",scene->retainCount());
上面方法的打印结果为:
scene ref:1
scene ref:2
这种方法在create函数里把对象放到了自动释放池。在该场景被其他场景替换时,它的引用计数会从2变为1,然后被自动释放池的管理类释放。
第二种:
CCScene* scene = new CCScene(); CCLog("scene ref:%d",scene->retainCount()); CCDirector::sharedDirector()->replaceScene(s); CCLog("scene ref:%d",scene->retainCount()); scene->release(); CCLog("scene ref:%d",scene->retainCount());
上面方法的打印结果为:
scene ref:1
scene ref:2
scene ref:1
这种方法并没有把对象放到自动释放池里,所以即使它的引用计数为1仍不会被释放。但是在该场景被其他场景替换时,引用计数会从1变为0,然后被释放。
另外,从上面两种方法看出CCDirector增加了当前显示场景对象的引用计数,即CCDirector控制了当前显示场景对象的生命周期。
- cocos2d-x CCScene 场景对象如何自动释放
- Cocos2d-x 之场景类(CCScene)
- cocos2d-x CCScene场景的切换
- 【爱上cocos2d-x之五】场景CCScene
- cocos2d-x学习笔记(5)-- CCScene场景的切换
- Cocos2d-x初入学堂(11)-->CCScene场景切换
- cocos2d-X学习之主要类介绍:场景(CCScene)
- cocos2d-x学习笔记04:CCScene场景切换
- cocos2d-x游戏开发(十)执行单元场景CCScene
- (转载)cocos2d-X学习之主要类介绍:场景(CCScene)
- (转)cocos2d-X学习之主要类介绍:场景(CCScene)
- Cocos2d-x之CCScene场景切换效果的使用
- Cocos2d-x初入学堂-->CCScene场景切换
- cocos2d-x游戏开发(十)执行单元场景CCScene
- 【cocos2d-x】CCScene
- 【Cocos2D学习】Cocos2d-x之CCScene场景切换效果的使用
- cocos2d-x学习之CCScene
- cocos2d-x CCDirector管理CCScene
- android在Broadcast的子类中接收两种意图的广播
- 动态代理(1)----JDK动态代理 .
- 开源代码的学习
- 解决session过期跳转到登陆页面并跳出iframe框架
- Visual C++ 中操纵 MS Word 123
- cocos2d-x CCScene 场景对象如何自动释放
- iOS学习笔记(九)—— xml数据解析
- Linux下得中断处理--第一个中断程序
- GIT 初始化 user.name user.email
- 动态代理(2)----动态代理和AOP .
- Ubuntu下添加硬盘
- 孩子犯错优秀家长只讲八句话
- 必读的20本投资经典
- windows 7 的 MBR 分析