CCArmature removechild (名字很美,但不起作用啊)会导致内存泄露 怎么解决,

armature = CCArmature::create(“Birds”);
我做了一个定时器 每10毫秒 创建一个 动画对象
this->addchild(armature )
然后直接
this->removechild( armature, true )
内存无限增长

然后我跟进去看是引用计数为2
为什么我addchild动画引用计数变成2了呢?
然后我做了这样一个操作
armature ->relese()
this->removechild( armature )
报堆栈被写崩了。
这个动画是cocostudio做的, 我在网上查了下,也有人提了这事

cocos2dx 作者能给个帮助吗? 我用cocostduio 做的这些动画 都不敢用了啊,

 如果您执行完刚才那几段代码紧接着就打印CCArmature的引用 那恭喜您 得到的计数肯定是2. 首先Create里有个new 此对象引用为1 接着add次对象引用为2. 虽然Create里会调用autoRelease 放入释放池 但是想要释放一次引用也是在下一针里 不是马上就执行的 
 至于内存泄露嘛 我也用过这一系列的东西 是坑了很久 首先在以前版本的话楼主要调用过getAnimation()->setMovementEvenCallFunc的话。。会吧传入的作用域引用+1的 如果想考this的释放来释放CCarmature就不行了。。不过以后的版本改掉了。。 还有这一系列源码有很多问题 有个字节数组没有被释放导致每次释放CCArmature起不到太大作用 不过后续版本也改好了。。现在就是一个异步加载android会闪退 还有异步加载的时候想释放内存要释放掉精灵针缓存。。不过我觉得不太稳妥 所以也没用异步加载 请楼主参考

谢谢你的帮助,
我现在处理随机生成精灵比如100个, 然后释放闪电 群伤这100个怪物 ,我用的最不动脑子的办法就是 每个精灵上 挂一个闪电动画 就是这个闪电动画创建100次(这个方法欠考虑)
我调用的 getAnimation()->setMovementEvenCallFunc 这个完成时删除这100个动画, 各种方法都试了,什么 this->removechild(arm, true) 什么 removeallchildandcleanup(true)
内存始终不减少 当我再释放这种技能 又创建了这100个动画 内存 一直在增加 各种方法都释放不了之前创建的 100个动画

— Begin quote from ____

引用第2楼zj1103014于2014-03-24 22:59发表的 :
如果您执行完刚才那几段代码紧接着就打印CCArmature的引用 那恭喜您 得到的计数肯定是2. 首先Create里有个new 此对象引用为1 接着add次对象引用为2. 虽然Create里会调用autoRelease 放入释放池 但是想要释放一次引用也是在下一针里 不是马上就执行的
至于内存泄露嘛 我也用过这一系列的东西 是坑了很久 首先在以前版本的话楼主要调用过getAnimation()->setMovementEvenCallFunc的话。。会吧传入的作用域引用+1的 如果想考this的释放来释放CCarmature就不行了。。不过以后的版本改掉了。。 还有这一系列源码有很多问题 有个字节数组没有被释放导致每次释放CCArmature起不到太大作用 不过后续版本也改好了。。现在就是一个异步加载android会闪退 还有异步加载的时候想释放内存要释放掉精灵针缓存。。不过我觉得不太稳妥 所以也没用异步加载 请楼主参考 http://www.cocoachina.com/bbs/job.php?action=topost&tid=195317&pid=910226

— End quote

不过后续版本也改好了
后续版本是什么版本呢 我去官网看了下最新的 是2.2.3 这个版本有处理这个问题?

   楼主这样弄没啥问题 你创建100次 如果你加载的是同一张图的话是消耗不了很多的内存 CCArmature这个东西开始有个方法来里面需要穿个png plist json是吧 这个方法会吧这些plist的信息存储到n多字典里 还有会创建一个文理对象。。并且存入缓存。。这个文理在创建每一个精灵针的时候还会retain一次。。。 

  你可以试试在回调函数里加个CCArmatureDataManager::shardArmatureDataManager()->removeArmatureFileInfor 然后最后完全不用这个图的时候可在调用一次 CCTextureCach::sharedTextureCache()->removeAllTextures 如果楼主要经常反复用这个png的话 那请在最后的析构释放 因为我的项目是个回合制游戏 所以我采用的是用一次释放一次。如果还是效果不明显就在释放一下精灵针缓存。。。这样已经是最大程度的释放了。。不过即便是这样还是会比每次多出一点内存 但是在可接受范围内。。如果楼主发现了完全释放的方法也请告诉我。。刚开始研究这块的源码 感觉写的很乱。。。

什么问题,导致Armature 删除后还调用update

我现在用的2.2.2加载还是和楼主一样的问题,请问楼主解决了吗?怎么解决的 求解

:6::6::6:楼主,最后解决问题了吗?2.2.3也遇到这个问题了。