set nterval-IE6中使用setInterval定期刷新Fusioncharts导致IE内存持续升高不能释放

问题描述

IE6中使用setInterval定期刷新Fusioncharts导致IE内存持续升高不能释放

贴出代码:
var myChart1 = null;
//分税种
var fsz = function() {
result = ajax_comm("com.digitalchina.jkpt.web.WelcomeWebService","queryFsz",{date:yearMonth});
//alert(result.xml)
myChart1 = new FusionCharts("/adp/work/jkpt/comm/FusionCharts/swf/Pie3D.swf?ChartNoDataText=没有查询到数据", "fsz_t1_img", "338", "198");
myChart1.setDataXML(result.xml);
myChart1.render("fsz_t1");
}

var refreshPage = function() {
myChart1.dispose();
myChart1 = null;
//清理内存
CollectGarbage();
fsz();

$(function() {
refreshPage();
setInterval("refreshPage()", 30000);
});

}

解决方案

内存增长原因是哪个变量引起的没法替你分析,但你这释放myChart1的内存方式是有问题的。

 myChart1 = null;
//清理内存
CollectGarbage();

这段代码清理内存是无效的。myChart1=null只能说myChart1失效,但不释放内存,在refreshPage没执行完之前myChart1还在refreshPage的上下文中,这时候CollectGarbage是没用的,需要执行完才能清理,比如

 setTimeout(CollectGarbage, 1);

CollectGarbage只会在IE中生效

时间: 2025-01-19 13:07:57

set nterval-IE6中使用setInterval定期刷新Fusioncharts导致IE内存持续升高不能释放的相关文章

IE6 中 a:hover 的bug

如上图,在制作数码热销排行的页面时,每种手机的图片都是固定的160×120大小,但是出于页面美观及内容可读性的考虑,在列表页上图片都压缩为原大小的50%显示:也就是80×60像素大小.不过当用户将鼠标移动到缩略图上时,我们会按原图大小显示出来.类似的效果在抓虾上也被应用在显示用户头像上: 抓虾使用的技术是利用一个隐藏的浮动层,每张缩略图上注册mouseover事件,当鼠标移动到缩略图上时,设置浮动层中img元素的src属性为头像的图片URL,然后通过JavaScript计算绝对定位,将放大后的头

通过jQuery在IE6中实现选择器标签

在上一篇<CSS属性选择器制作个性化链接样式>中,我们使用css的选择器标签来实现相 关功能.但是css 选择器虽然被绝大部分浏览器支持,但是不被该死的IE6支持,那么怎么办 呢?是的,我们可以通过jQuery来实现. 你可以 看到,使用jQuery实现的样式和使用css选择器实现的一模一样,而且它在IE6中被支持. 原理是很简单的--通过jQuery的选择器来匹配相关条件,然后动态为该 链接添加一个class.比如,jQuery匹配到mailto类型的链接,然后我们在该链接上添加一个 mai

IE6中ExtJS Grid表头下拉菜单错乱问题

今天使用ExtJS 2.2.1进行页面开发时,发现在IE6中的Grid的表头显示异常 ,图标和文字发生错乱,如图: 在Firefox和chrome显示都是正常的,很是奇怪,难道是版本问题? 将2.2版本和2.2.1版本的ext-all.css进行了比较,发现有两处不一样,改回 2.2版本后一切正常: 找到.x-menu a.x-menu-item{display:block;line- height:16px;padding:3px 21px 3px 27px; 修改成.x-menu a.x-m

ASP.NET MVC2.0在Tab页中实现异步无刷新分页

概述 很多地方都存在以Tab页来呈现数据的方式,比如网易.新浪.搜狐.QQ等知名的门户网站的首页,还有大家熟知的博客园首页,都是用了tab页来显示数据.大家之所以喜欢用Tab,因为它能大大的增加显示数据的空间,能在固定的空间中显示更多的数据.分页也是为了方便数据的显示,在应用系统中必不可少.这篇文章使用Jquery在ASP.NET MVC中使用Tab页,以及在Tab页中实现异步无刷新的分页功能.估计这个大家都会用得到的. 在ASP.NET MVC中实现分页,在之前的一篇博文:ASP.NET MV

JavaScript中停止执行setInterval和setTimeout事件的方法

 这篇文章主要介绍了JavaScript中停止执行setInterval和setTimeout事件的方法,本文给出操作实例代码和语法介绍,需要的朋友可以参考下     js 代码中执行循环事件时,经常会用到 setInterval 和 setTimeout 这两个方法,关于这两个方法的细节这里不详细讨论了,简要分享下在需要停止循环事件的时候该如何操作. (1)setInterval 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式,停止该方法可使用 clearInterval 方法.具体示

网页-Ie11下页面中的flash不刷新问题

问题描述 Ie11下页面中的flash不刷新问题 网页页面中生成一个flash,其他浏览器按f5刷新页面之后 flash的内容每次都会改变 ,但在IE11里边按f5刷新 flash的内容不会有任何变化,正常来说每次刷新页面,应该都会到服务器端做新的请求,都会重新输出这段代码,但是在ie11里就是不刷新 .这是什么情况 生成flash的源码: var so = new SWFObject("http://www.mytest.com/Widgets/CarouselV1.swf", &q

javascript中的后退和刷新实现方法_javascript技巧

<input type=button value=刷新 onclick="window.location.reload()"> <input type=button value=前进 onclick="window.history.Go(1)"> <input type=button value=后退 onclick="window.history.go(-1)"> <input type=button

xcode-Xcode中 如何让视图刷新

问题描述 Xcode中 如何让视图刷新 写了一个程序 storyboard中用了一个label来显示一个数 使用一个按钮来改变数的值,但是数据改变之后视图没有变化.我在viewcontroller中引用的类方法里只改变了数据的值,需要做什么让界面刷新? 解决方案 将这个label拖成属性,然后改变这个label属性的text

怎么让设置了固定高度的div内容超出时,在ie6中不会自动撑开

问题描述 怎么让设置了固定高度的div内容超出时,在ie6中不会自动撑开 怎么让设置了固定高度的div内容超出时,在ie6中不会自动撑开 解决方案 为什么还要兼容ie6,现在浏览器基本上是ie7以上的了:你设置的高度是以什么为单位的像素还是百分比:如果是百分比的话,其会根据需要自动变化的: 可能你用的div+css还不太熟,所以布局设置不合理吧