echarts和setInerval内存泄漏可行性方案(较靠谱,未测试)

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图表,还有其他元素。

猜你喜欢

转载自blog.csdn.net/haogexiaole/article/details/80849940
今日推荐