解决echarts内存泄露的问题


clear方法和dispose方法

一种是调用clear方法,一种是dispose方法。第一种是清理echarts 但是不销毁实例。第二种是销毁实例,再次使用需要重新构建实例

1.

 

var chart = echarts.getInstanceByDom(document.getElementById(dom));
if (chart === undefined) 
{  
    chart = echarts.init(document.getElementById(dom));
}
var option = {  //.......................}
chart.setOption(option);

果然内存占用稳定下来了(这次不是稳定上升。。。),大概就是这样了。应该也可以写成下面这种方式。

2.var chart = echarts.getInstanceByDom(document.getElementById(dom));
    echarts.dispose(chart);
    chart = echarts.init(document.getElementById(dom));
    var option = {  //.......................}
    chart.setOption(option);
dispose()方法是销毁ECharts实例,然后再重新初始化,个人觉得clear()方法好一点。

 

补:有人用两种方式试了一下,第一种方式(if.....)内存占用大概在100M左右,第二种方式(echarts.dispose())内存占用大概是300M左右,原因还不太清楚,页面上有6个echarts图表,还有其他元素。

上文链接:https://blog.csdn.net/haogexiaole/article/details/80849940

 

 上图链接:https://www.cnblogs.com/c-supreme/p/9609841.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM