[LayaAir 2.0]Texture引用计数不为0的时候执行销毁纹理destroy方法后再加载这个资源会导致重复加载
/**
*销毁纹理。
*/
__proto.destroy=function(force){
(force===void 0)&& (force=false);
if (!this._destroyed){
this._destroyed=true;
var bit=this._bitmap;
if (bit){
bit._removeReference(this._referenceCount);
if (bit.referenceCount===0||force)
bit.destroy();
bit=null;
}
if (this.url && this===Laya.loader.getRes(this.url))
Laya.loader.clearRes(this.url);
}
}
laya 2.0.2源码在Texture的 referenceCount不等于0的情况执行这个清理bitmap不会destroy但是Loader.clearRes清理了Loader.loadedMap[url]。
导致下次会重新再加载这个url会重新再创建个Texture这样内存就一直增长了。
建议Loader.clearRes清理和bitmap的destroy放到一起。
*销毁纹理。
*/
__proto.destroy=function(force){
(force===void 0)&& (force=false);
if (!this._destroyed){
this._destroyed=true;
var bit=this._bitmap;
if (bit){
bit._removeReference(this._referenceCount);
if (bit.referenceCount===0||force)
bit.destroy();
bit=null;
}
if (this.url && this===Laya.loader.getRes(this.url))
Laya.loader.clearRes(this.url);
}
}
laya 2.0.2源码在Texture的 referenceCount不等于0的情况执行这个清理bitmap不会destroy但是Loader.clearRes清理了Loader.loadedMap[url]。
导致下次会重新再加载这个url会重新再创建个Texture这样内存就一直增长了。
建议Loader.clearRes清理和bitmap的destroy放到一起。
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
Aar0n
赞同来自: