【Prefab释放问题】Prefab destory不释放内存

1.4.2版本
之前释放prefab节点使用removeFromParen 发现并没有完全释放,查了论坛,@jare 大神说使用node.destory才会释放,

游戏有特殊需求,并没有使用pool去管理prefab。而是直接在用的时候现场instantiate的,prefab是通过编辑器加载的,也没有异步加载。

prefab添加到node上之后要释放掉,调用node.destory,prefab节点从画面中移除了,但是依然没有观察到内存释放迹象…

web和模拟器都没有看到内存下降。。

而且切换场景之后依然没有内存释放迹象,来回切换场景内存反而大幅上涨。。

请问各位大神 Prefab 的正确释放姿势,跪求!:sob:

下面是测试代码,麻烦各位大神看一下。。。
dragonBonesTest.zip (140.5 KB)

你用的哪个版本?

版本1.4.2

node.destroy 仅会释放节点本身的内存,如果要连带资源一起释放,需要用 cc.loader.release,建议搭配 getDependsRecursively 一起服用
var deps = cc.loader.getDependsRecursively(prefab);
cc.loader.release(deps);

使用cc.loader.release这样做会不会把prefab释放掉,我现在是要把 通过prefab instantiate 的node释放掉,大量instantiate 之后,去destory,发现内存并没有减少。。。 prefab本身作为资源我还是要保留的。。。就是大量创建node之后 destory并没有看到内存减少。。是我描述的不够清晰

不知道是我使用姿势不对还是什么,
var deps = cc.loader.getDependsRecursively(prefab);
cc.loader.release(deps);
其实我也没发现内存减少
在最后加上cc.loader.releaseAll();才会减少

如果 prefab 是 loadRes 进来的,目前这样确实也不会减少,这个 bug 会在 1.5 修复。

你这个应该是 dragonBones 本身的内存泄露,和 prefab 无关,预计 1.6 修复

:disappointed:

已修复

不过估计要等到 1.6.2 才能用到了…… 因为昨天就冻结了 1.6.1 了……
着急的话可以自己合并一下 https://github.com/cocos-creator/engine/pull/1935

:kissing: