解決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