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