JQUERY HighCharts 内存增长太快 大家看看怎么回事
2011-04-13 17:33
911 查看
自己要做一个实时的监控数据的图形,但是跟AJAX结合的时候,内存增长的速度 比较快,谁能帮我看看怎么回事,谢谢了!
Java代码
waveLineImage = new Highcharts.Chart({
chart: {
renderTo: 'waveImage',
defaultSeriesType: 'line',
plotBorderWidth: 1,
plotBorderColor: '#99CC99',
marginRight: 12,
showAxes: true
},
title: {
text: '',
x: -20 //center
},
subtitle: {
text: '',
x: -20
},
xAxis: {
tickWidth: 0,
tickInterval: 5,
gridLineWidth: 1,
gridLineColor: '#99CC99',
categories: []
},
yAxis: {
title: {
text: ''
},
min: -1,
tickInterval: 5,
gridLineWidth: 1,
gridLineColor: '#99CC99'
},
plotOptions: {
series: {
animation: false,
marker: {
enabled: false
}
}
},
tooltip: {
enabled:false,
formatter: function(){
return null;
}
},
legend: {
enabled: false
},
exporting: {
enabled: false
},
series: [{
name: "monitor",
data: []
}, {
name: "temp",
data: []
}]
});
上面是 初始化曲线图的实例
Java代码
maxSize = 0;
lastSize = -1;
var tempArray = null;
function drawOscillogram(waveData){
if (waveData) {
var dataArray = new Array();
var array = null, point = null, num = null,item = null;
var waveDataLength = waveData.length;
for (var i = 0; i < waveDataLength; i++) {
array = waveData[i].split(",");
point = 1 / array.length;
for (var j = 0; j < array.length; j++) {
num = i + Math.round((point * j) * 10) / 10;
item = parseFloat(array[j]);
if(maxSize<item) maxSize=item;
dataArray.push([num, item]);
num = null;
}
array = null; item = null; point = null;
}
if (waveDataLength < 60) {
if (tempArray == null) {
tempArray = new Array();
for (var i = 0; i < 61; i++) {
tempArray.push([i, -6]);
}
}
if(!waveLineImage.series[1]) waveLineImage.addSeries("",true,false);
waveLineImage.series[1].data = tempArray;
}
else {
tempArray = null;
waveLineImage.series[1].remove();
}
waveLineImage.series[0].data = dataArray;
dataArray = null; waveDataLength = null;
if(lastSize!=maxSize)
{
//new Highcharts.Chart(waveLineImage);
lastSize=maxSize;
}else{
waveLineImage.redraw();
}
}
}
waveData 是 传过来的 数据,把他绑定到图形中 ,内存长的飞快,每秒3MB,怎么修改,怀疑是//new Highcharts.Chart(waveLineImage);这句话增长的内存,然后调用 highCharts 的redraw 方法,重画,可是没有效果出来 求高手 提错!!!!
Java代码
waveLineImage = new Highcharts.Chart({
chart: {
renderTo: 'waveImage',
defaultSeriesType: 'line',
plotBorderWidth: 1,
plotBorderColor: '#99CC99',
marginRight: 12,
showAxes: true
},
title: {
text: '',
x: -20 //center
},
subtitle: {
text: '',
x: -20
},
xAxis: {
tickWidth: 0,
tickInterval: 5,
gridLineWidth: 1,
gridLineColor: '#99CC99',
categories: []
},
yAxis: {
title: {
text: ''
},
min: -1,
tickInterval: 5,
gridLineWidth: 1,
gridLineColor: '#99CC99'
},
plotOptions: {
series: {
animation: false,
marker: {
enabled: false
}
}
},
tooltip: {
enabled:false,
formatter: function(){
return null;
}
},
legend: {
enabled: false
},
exporting: {
enabled: false
},
series: [{
name: "monitor",
data: []
}, {
name: "temp",
data: []
}]
});
waveLineImage = new Highcharts.Chart({ chart: { renderTo: 'waveImage', defaultSeriesType: 'line', plotBorderWidth: 1, plotBorderColor: '#99CC99', marginRight: 12, showAxes: true }, title: { text: '', x: -20 //center }, subtitle: { text: '', x: -20 }, xAxis: { tickWidth: 0, tickInterval: 5, gridLineWidth: 1, gridLineColor: '#99CC99', categories: [] }, yAxis: { title: { text: '' }, min: -1, tickInterval: 5, gridLineWidth: 1, gridLineColor: '#99CC99' }, plotOptions: { series: { animation: false, marker: { enabled: false } } }, tooltip: { enabled:false, formatter: function(){ return null; } }, legend: { enabled: false }, exporting: { enabled: false }, series: [{ name: "monitor", data: [] }, { name: "temp", data: [] }] });
上面是 初始化曲线图的实例
Java代码
maxSize = 0;
lastSize = -1;
var tempArray = null;
function drawOscillogram(waveData){
if (waveData) {
var dataArray = new Array();
var array = null, point = null, num = null,item = null;
var waveDataLength = waveData.length;
for (var i = 0; i < waveDataLength; i++) {
array = waveData[i].split(",");
point = 1 / array.length;
for (var j = 0; j < array.length; j++) {
num = i + Math.round((point * j) * 10) / 10;
item = parseFloat(array[j]);
if(maxSize<item) maxSize=item;
dataArray.push([num, item]);
num = null;
}
array = null; item = null; point = null;
}
if (waveDataLength < 60) {
if (tempArray == null) {
tempArray = new Array();
for (var i = 0; i < 61; i++) {
tempArray.push([i, -6]);
}
}
if(!waveLineImage.series[1]) waveLineImage.addSeries("",true,false);
waveLineImage.series[1].data = tempArray;
}
else {
tempArray = null;
waveLineImage.series[1].remove();
}
waveLineImage.series[0].data = dataArray;
dataArray = null; waveDataLength = null;
if(lastSize!=maxSize)
{
//new Highcharts.Chart(waveLineImage);
lastSize=maxSize;
}else{
waveLineImage.redraw();
}
}
}
maxSize = 0; lastSize = -1; var tempArray = null; function drawOscillogram(waveData){ if (waveData) { var dataArray = new Array(); var array = null, point = null, num = null,item = null; var waveDataLength = waveData.length; for (var i = 0; i < waveDataLength; i++) { array = waveData[i].split(","); point = 1 / array.length; for (var j = 0; j < array.length; j++) { num = i + Math.round((point * j) * 10) / 10; item = parseFloat(array[j]); if(maxSize<item) maxSize=item; dataArray.push([num, item]); num = null; } array = null; item = null; point = null; } if (waveDataLength < 60) { if (tempArray == null) { tempArray = new Array(); for (var i = 0; i < 61; i++) { tempArray.push([i, -6]); } } if(!waveLineImage.series[1]) waveLineImage.addSeries("",true,false); waveLineImage.series[1].data = tempArray; } else { tempArray = null; waveLineImage.series[1].remove(); } waveLineImage.series[0].data = dataArray; dataArray = null; waveDataLength = null; if(lastSize!=maxSize) { //new Highcharts.Chart(waveLineImage); lastSize=maxSize; }else{ waveLineImage.redraw(); } } }
waveData 是 传过来的 数据,把他绑定到图形中 ,内存长的飞快,每秒3MB,怎么修改,怀疑是//new Highcharts.Chart(waveLineImage);这句话增长的内存,然后调用 highCharts 的redraw 方法,重画,可是没有效果出来 求高手 提错!!!!
相关文章推荐
- 新买的sempron2600+点不亮,大家看看怎么回事
- 大家帮忙看看c++中派生类发生浅拷贝,但是在析构时候怎么没有内存错误!求解!
- 大家帮我看看这是怎么回事 8个节点 其中有一个HRegionServer 没有跑起来
- 前天一道我不能回答好的面试题:内存泄露你怎么解决?希望大家不吝赐教
- Android 在Service 中开启线程执行任务,Service占用的内存越来越多,怎么回事?
- 内存对齐到底是怎么回事?
- 大家看看这个错误怎么解决 。。。搞了我半天
- Highcharts + jQuery + Servlet 实现从后台获取JSON实时刷新图表
- 把一图片改为画笔,用来画线!!!!!! (有代码)请大家帮忙看看应该怎么改好。
- 大家帮忙看看 这个js怎么写?
- django+highcharts+jquery+mysql
- JQuery选择器中层级关系老是记不清楚怎么办,总结下看看。
- Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图
- eclipse里用jad反编译class后出现这样是怎么回事????急急!!!!各位大侠看看啊
- JQuery highcharts图表控件例子
- 大家看看这个问题怎么解决啊(哎,论坛没分了)
- JAVA小白问个问题,求大神帮我看看是怎么回事
- 使用httpClient4.5的问题 求大家来看看..不知道怎么解决
- jQuery在线刚找的几个DEMO。效果非常好,大家看看