前言
最近做项目大屏可视化,需求里有很多3d饼状图等图形,这里用到了echarts + echarts-gl,当做完后,点击次数变多后,发现页面变得很卡,有时候会导致页面刷新。通过浏览器内存快照,发现每次点击弹框后,内存都会增加(弹框里显示的是echarts绘制的3d饼状图)。
下面是点击了30次后内存快照。
dialog里显示的饼状图
每次都会自动生成5个新的饼状图。(至于为什么不重复使用,请看我的另一篇文章https://blog.csdn.net/qq_43209807/article/details/135260538)
优化后的内存快照
出现问题的原因
- 嵌套事件绑定:在 Echarts 图表中,每个图表都会绑定各种交互事件。如果我们正确地解绑这些事件,则会导致事件监听器无法垃圾回收,从而造成内存泄漏。
- 大量的