簡體   English   中英

setInterval()方法中的內存泄漏

[英]Memory leak in setInterval() method

我正在創建一個基於javascript的html儀表板。 為了刷新儀表板圖表中的值,我編寫了以下代碼:

var chart, options;

function loadDynamicData() {            
    var data = window.parent.getDynamicData();
    var dataArray = data.split(',');

    for(var i = 0; i < chartData.length; i++) {
        chartData[i].data.pop();
        chartData[i].data.push(parseInt(dataArray[i],10));
    }
}

$(document).ready(function() {
    //initialize options here
    setInterval(function () {
        loadDynamicValues(); // loads dynamic values through ajax
                             // and updates options
        chart = new Highcharts.Chart(options);
    }, 300000);
});

但問題是當我在瀏覽器中運行這個很長一段時間(大約1小時)時,正在使用的內存會上升,瀏覽器就會無法響應。 如果我刪除setInterval()方法並運行一次內部代碼,那么沒有問題。

這可能是什么問題?

請在創建新圖表之前執行chart.destroy()。

if(chart)chart.destroy;

這是一個測試鏈接。 http://www.highcharts.com/tests/?file=memory-chart-destroy

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM