cocos2d中的内存管理,举例说明
2016-04-07 16:03
429 查看
例子:
CCSprite* titleSprite = CCSprite::create("title.png");
titleSprite->setPosition(ccp(visibleSize.width / 2, visibleSize.height - 50));
this->addChild(titleSprite, 2);
如上例,我们创建了一个titleSprite,但并没有释放内存,为什么也能正常运行而没有出现内存泄露呢。我们展开CCSprite::create后的代码如下,会看到pobSprite->autorelease();这说明系统已经给我们自动释放了,系统对内存进了自动管理。
CCSprite* CCSprite::create(const char *pszFileName)
{
CCSprite *pobSprite = new CCSprite();
if (pobSprite && pobSprite->initWithFile(pszFileName))
{
pobSprite->autorelease();
return pobSprite;
}
CC_SAFE_DELETE(pobSprite);
return NULL;
}
CCSprite* titleSprite = CCSprite::create("title.png");
titleSprite->setPosition(ccp(visibleSize.width / 2, visibleSize.height - 50));
this->addChild(titleSprite, 2);
如上例,我们创建了一个titleSprite,但并没有释放内存,为什么也能正常运行而没有出现内存泄露呢。我们展开CCSprite::create后的代码如下,会看到pobSprite->autorelease();这说明系统已经给我们自动释放了,系统对内存进了自动管理。
CCSprite* CCSprite::create(const char *pszFileName)
{
CCSprite *pobSprite = new CCSprite();
if (pobSprite && pobSprite->initWithFile(pszFileName))
{
pobSprite->autorelease();
return pobSprite;
}
CC_SAFE_DELETE(pobSprite);
return NULL;
}
相关文章推荐
- cocos2d-Lua05体验引擎测试用例+定时任务+触摸事件
- 《倾国倾城》全套源码:客户端+服务端+资源,鄙视复制帖子
- cocos2d Sprite Lua处理实例
- cocos2d-x 常规库的图文件配置
- cocos2d 声音引擎
- cocos2d-lua04第一个工程
- 环境搭建简述——cocos2d-Lua03
- 使用cocos2d-x c++ Android静态库
- cocos2d-Lua03环境搭建及基本概念
- cocos2d-Lua02Lua面向对象
- cocos2d-Lua01Lua基础语法
- cocos2dx 3.x tolua 分析
- cocos2dx-3.10学习之HelloWorld解析
- cocos2d-js:调用scheduleUpdate()不执行update()方法的解决办法
- cocos2d基本动作函数
- cocos2dx 2.0 CCScrollView的用法以及滑动的原理
- Cocos2d-x:触摸事件优先级的探究与实践
- ubuntu14.04 下配置编译cocos2d-x3.10
- cocos2d-x Label描边问题以及解决办法
- COCOS2DX3.0的3种触摸响应机制