您的位置:首页 > 移动开发 > Cocos引擎

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息