更新图表时不会导致内存泄漏的图表库

时间:2011-03-13 17:23:16

标签: javascript memory-leaks charts jqplot

我想根据使用AJAX异步从服务器获取的数据构建一个交互式刷新图表的页面。我非常喜欢jqPlot,但在尝试定期更新图表时(通过调用replot(),无需刷新页面),会导致巨大的浏览器内存泄漏。这似乎是所有主流浏览器都会出现的一个众所周知的问题。

我没有尝试Flotprotovis,但快速的谷歌搜索显示他们似乎有同样的问题。

您是否知道任何JavaScript图表库在图表的多次更新后都不会引入内存泄漏?

2 个答案:

答案 0 :(得分:0)

您可以查看Highchartsquick googling似乎并不表示内存泄漏是一个很大的问题。

答案 1 :(得分:0)

为了避免jqPlot内存泄漏,你必须删除绑定并删除你的图表:

var chart;

function yourTimedFunction(data) {
    if (chart) 
    {
        $('#chartDiv *').unbind(); // iexplorer
        chart.destroy();
    }
    chart = $.jqplot('chartDiv', ............. ); 
}