例子:
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; }