遇到一个内存问题 dragonBones相关的
我使用cc.loader.loadResDir 加载了20个角色
加载前chrome内存管理器显示 GPU显存60MB
加载后GPU 180MB左右,releaseResDir之后内存还原至60MB
重复多次未见内存泄露
然而当我加载dragonBones并添加ArmatureDisplay至node节点
并正确设置armatureName后节点可以显示动画
但之后反复destroy/releaseResDir显存会不断上升至约泄露60MB
(未设置armatureName时其值为空’’,动画不显示,内存也不泄露)
另外dragonBones.CCFactory.getFactory().clear()方法每次都报错!(dispose那里报错)
想问下动态加载的dragonBones如何正确卸载,内存真的爆了爆了
脚本创建dragonBones动态的方法如下(参考http://forum.cocos.com/t/topic/41362/2)
cc.loader.loadResAll('db', function (err, assets) {
let node = new cc.Node('1213');
self.node.addChild( node, 99999 );
node.setPosition( cc.p( 200, 200 ) );
let armatureDisplay = node.addComponent(dragonBones.ArmatureDisplay);
for ( let i = 0; i < assets.length; i++ ) {
if (assets[i] instanceof dragonBones.DragonBonesAsset) {
armatureDisplay.dragonAsset = assets[i];
}
if (assets[i] instanceof dragonBones.DragonBonesAtlasAsset) {
armatureDisplay.dragonAtlasAsset = assets[i];
}
}
armatureDisplay.armatureName = 'mecha_1502b';
armatureDisplay.playAnimation('idle', -1);
});
