场景再现:
使用 Vue + Echarts 实现数据可视化
点击数据量大的组件时,Echarts 渲染比较快
但切换其他组件统计图时,会非常卡
切换其他组件时,Echarts 在当前页面被销毁,但 内存 中未必销毁,导致 Echarts 占用 CPU 高
在 mounted() 和 destroy() 之间,加一个 beforeDestroy() ,用于释放该页面的 chart 资源
beforeDestroy () { this.chart.clear() }
注意区分 dispose() 和 clear():
dispose():可以销毁 charts,但会导致 charts 的 resize() 启动;因为 charts 已经销毁了,没有 resize(),故会报错:缺少 resize()
clear():清空 charts 数据,释放内存,不会影响 charts 及它的方法 resize()