接手的项目比较卡顿,且使用echart较多,考虑是内存泄露。
在浏览器-菜单栏-任务管理器中发现占用内存较多
采用dispose方法移除echart,发现卡顿情况消失。
代码如下:
beforeDestroy() {
const myChart4 = this.$echarts.init(document.getElementById('barchart'));
if(myChart4) {
this.$echarts.dispose(myChart4)
}
},
代码片段
chrome任务管理器
关于内存泄露,主要由以下几点原因造成
全局变量
闭包
获取dom
定时器
回调
子元素引用
添加未移除