1.8内存泄漏(纹理无法释放)

在浏览器下getDependsRecursively+release 完全无法释放资源,在Ios下是正常的。
如果是bug麻烦官方修复下,如果不是麻烦给个解决方案

预制体目前的情况是 (ios 下是如下情况) (浏览器下getDependsRecursively+release根本无法释放资源)
1.不把预制体实例化addChild到节点时候,只是加载,
使用getDependsRecursively+release 可以完全释放内存
2.把预制体实例使用addChild到节点时候,只是destroy实例的时候,再次加载预制体并addChild到节点的时候会出现少量内存泄漏

3.把预制体实例addChild到节点时候,destroy实例并且使用getDependsRecursively+release 释放资源,再次加载预制体并addChild到节点的时候会出现大量内存泄漏

目前最好的做法就是只执行destroy,不去释放资源

官方给出过一个解决方案,也不适用于哪个版本,在1.8中var index = deps.indexOf(texture2d._uuid);这个index一直都是-1
// Release a texture which is no longer need
cc.loader.release(texture);
// Release all dependencies of a loaded prefab
var deps = cc.loader.getDependsRecursively(‘prefabs/sample’);
cc.loader.release(deps);
// If there is no instance of this prefab in the scene, the prefab and its dependencies like textures, sprite frames, etc, will be freed up.
// If you have some other nodes share a texture in this prefab, you can skip it in two ways:
// 1. Forbid auto release a texture before release
cc.loader.setAutoRelease(texture2d, false);
// 2. Remove it from the dependencies array
var deps = cc.loader.getDependsRecursively(‘prefabs/sample’);
var index = deps.indexOf(texture2d._uuid);
if (index !== -1)
deps.splice(index, 1);
cc.loader.release(deps);

web下不起作用查看了下是this._gl && null !== this._glID && this._gl.deleteTexture(this._glID);这个地方的deleteTexture之后没有产生任何作用,官方麻烦进来看下