大家好,比如下面这个程序:
int *value = new int(3);
CCCallFuncND func = CCCallFuncND::create(this, callfuncND_selector(GameLayer::addCoins),(void) value);
CCDelayTime *delay = CCDelayTime::create(10.0f);
node->runAction( CCSequence::create(delay, func, NULL) );
void GameLayer::addCoins((CCNode* sender, void* data)
{
int value = (int) data;
// some code…
delete value;
}
我们用的cocos2dx版本是2.1.2,我们发现,如果在delay时间前就把node给remove掉,则是不会调用到GameLayer::addCoins(),那是不是new出来的value就没机会delete了,就内存泄漏了?所以想确认下会不会导致内存泄漏?如果会的话新版本的cocos2dx有没有解决这个问题?谢谢!