编辑器版本:cocosstudio1.5.0.1
引擎版本:2.2.5
使用cocosstudio编辑的动画,如果不包含粒子,内存释放正常。如果包含了粒子,内存无法正常释放。
具体的调用关系是
addArmatureFileInfo()
play(“”)
setMovementcallFunc()
在回调方法中 , removeFromParent
内存一直在增长。
粒子文件导出的2种方式都试过。
编辑器版本:cocosstudio1.5.0.1
引擎版本:2.2.5
使用cocosstudio编辑的动画,如果不包含粒子,内存释放正常。如果包含了粒子,内存无法正常释放。
具体的调用关系是
addArmatureFileInfo()
play(“”)
setMovementcallFunc()
在回调方法中 , removeFromParent
内存一直在增长。
粒子文件导出的2种方式都试过。
这个问题找到解决办法了。 在3.3rc中已经被修正了。
void DisplayFactory::createParticleDisplay(Bone *bone, DecorativeDisplay *decoDisplay)
{
ParticleDisplayData *displayData = (ParticleDisplayData *)decoDisplay->getDisplayData();
ParticleSystem *system = ParticleSystemQuad::create(displayData->displayName.c_str());
system->removeFromParent();
system->cleanup(); //这行在2.2.5中没有, 是修复问题的方法
Armature *armature = bone->getArmature();
if (armature)
{
system->setParent(armature);
}
decoDisplay->setDisplay(system);
}