我每秒都根据新数据重新绘制图表,它工作得很好,看起来很棒,但我注意到它每秒增加 1 MB 的内存使用量。有任何解决这个问题的方法吗?我注意到如果我只有静态图表,那么内存就会稳定下来,但是一旦我添加了不断重绘(为了更新数据),内存使用就永远不会停止。
起初我以为是因为我每次都在创建图表的新实例,所以我更改了代码,因此每次只重绘同一个实例,但这根本没有多大帮助。
谁知道怎么修它?我需要先以某种方式转储旧图表吗?
google.setOnLoadCallback(test);
var chart;
var chartOptions;
var chartCreate;
function test() {
chart = new google.visualization.DataTable();
chart.addColumn('string', 'Lorem');
chart.addColumn('number', 'Ipsum');
chart.addRows([
['', 0]
]);
chartOptions = {};
chartCreate = new google.visualization.LineChart(document.getElementById('chartDiv'));
chartCreate.draw(chart, chartOptions);
]);
}
function test2() {
chart.removeRows(0, 5);
for (var i = 0; i < dataSpaceArray.length; ++i) {
chart.addRow([dataTimeArray[i], dataSpaceArray[i], dataSpeedArray[i]]);
}
chartCreate.draw(chart, chartOptions);
}
setTimeout(test2,1000)