//清空三维图层
allClear(){
if (this.viewerInfo.tileset) {
this.viewerInfo.tileset =
this.viewerInfo.tileset && this.viewerInfo.tileset.destroy();
}
this.viewerInfo.viewer.entities.removeAll();
this.viewerInfo.viewer.scene.primitives.removeAll();
this.modelTask.eventHandler =
this.modelTask.eventHandler && this.modelTask.eventHandler.destroy();
// 获取webgl上下文
let gl = this.viewerInfo.viewer.scene.context._originalGLContext;
// 当canvas大小改变时,页面就会自动刷新
gl.canvas.width = 1;
gl.canvas.height = 1;
this.viewerInfo.viewer =
this.viewerInfo.viewer && this.viewerInfo.viewer.destroy();
// 销毁webgl上下文
gl.getExtension("WEBGL_lose_context").loseContext();
gl = null;
// 销毁页面计时器
let end = setInterval(function () {}, 10000);
for (let i = 1; i <= end; i++) {
clearInterval(i);
}
},
经过测试,内存可以完全释放,不会发生内存泄漏的问题