bootstrap-table中使用echarts使用定时刷新时出现内存泄漏(Out of Memory)

如图每行有个图,表格每5秒刷新一次
bootstrap-table中使用echarts使用定时刷新时出现内存泄漏(Out of Memory)
时间一久,Chrome 就出现内存泄漏
bootstrap-table中使用echarts使用定时刷新时出现内存泄漏(Out of Memory)
Column 定义如下

{
    title: '趋势', class: 'chart-col',
    formatter: function (value, row, index, field) {
        let html = [];
        if (row.trends) {
            html.push("<div class='line-chart' data-pk='" + row.name + "'></div>");
        }
        return html.join();
    }
}

在 onPostBody 事件中初始化 echarts

onPostBody: function (data) {
   $('#table').find('.line-chart').each(function (index, item) {
       var myChart = echarts.init(item);
       // 异步加载数据
       $.get('propertyValueLineChart', {
           id: entityId, pk: $(item).data('pk'), limit: 120,
       }).done(function (data) {
           // 填入数据
           myChart.setOption({
               // .... //
           });
       });
   });
}

echarts.init(item);
每次都init,这里导致内存泄漏

在onRefresh里dispose实例

onRefresh: function (data) {
    $('#table').find('.line-chart').each(function (index, item) {
        var chart = echarts.getInstanceByDom(item);
        echarts.dispose(chart);
    });
}
上一篇:【转】从入门到实践 json练习详解~~和ython : groupby 结果浅解,&之后的 y_list=[v for _,v in y]


下一篇:轻松完爆 Helm chart