欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

highcharts 内存泄露的解决

程序员文章站 2022-04-19 16:05:51
...
使用了定时ajax刷新,趋势图不停的刷新,在chrome中没有问题,但在ie中内存的使用不断增加.
无意中看到了hightcharts网站上有一个内存泄露的测试,测试了一下发现ie的内存使用得到了很大改善.
http://www.highcharts.com/tests/?file=memory-chart-destroy

总结:
// 绘制趋势图
chart = new Highcharts.Chart({
hightcharts的每次绘制,返回的chart对象保存的数据占用的内存不会自动释放,除非刷新整个页面,所以在重新绘制图形前先把chart清除掉。

我的例子:

//发送异步请求,对返回的数据进行处理
$.get('getDyWaveDataAjax.action?deviceId=' + deviceId, function(data, text){
// charts是每次绘图的返回对象组成的数组,把它清除掉
$.each(charts, function(idx,item){
item && item.destroy();
item = null;
});
charts = null;
charts = new Array();
$("#mainContent").html(data);
});