Bootstrap

Cesium场景回收及销毁

   //清空三维图层
        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);
            }
        },

经过测试,内存可以完全释放,不会发生内存泄漏的问题

;