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

cocos2d-x-2.*关于addTargetedDelegate的两个坑

2014-07-04 15:42 253 查看
1.CCLayer在构造函数里面

CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,0,false);

因为这是一个强引用,所以在场景切换的时候,不会调用该CCLayer的析构函数,造成内存泄露

解决办法是在onExit的时候调用

CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this);

这样CCLayer的析构函数就会执行了!

注:据说cocos2d-x-3.* 以后,addTargetedDelegate变成了弱引用,就没这个问题了!

2. /article/4885909.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐