原因:
}
方法2:
if(!FusionCharts("myChartId")){
// new 一个
var chart =new FusionCharts(”具体swf“, "ChartId", "100%", "470", "0", "0");
chart.setXMLData(“xml数据”);
}else{
FusionCharts("myChartId").setXMLData("xml数据");
每次new FusionCharts( , "ChartId", "100%", "100%", "0", "0");都会新建一个对象存于浏览器中,如果不进行对象的效果或者重用就会造成浏览器中的fusioncharts对象不停的增加,占用的内存也就会不停的增大了;
方案:
FusionCharts("myChartId")直接通过已经设定的fusioncharts的ID来获取其对象,判断其对象是否存在,如果存在则销毁(dispose)或者直接赋值(setXMLData),即可在不new新对象的情况下更新报表数据;
方法1:
if(FusionCharts("myChartId")!= undefined){
FusionCharts("myChartId").dispose();}
方法2:
if(!FusionCharts("myChartId")){
// new 一个
var chart =new FusionCharts(”具体swf“, "ChartId", "100%", "470", "0", "0");
chart.setXMLData(“xml数据”);
}else{
FusionCharts("myChartId").setXMLData("xml数据");
}
本文介绍了如何通过重用FusionCharts对象避免内存泄漏的问题。主要讲述了如何检查对象是否存在,并提供了两种方法来更新图表数据,从而有效减少内存占用。
3694

被折叠的 条评论
为什么被折叠?



