Neil Fraser说script加载json内存会不释放,必须这么来一下:
for (var prop in jsFile) {
delete jsFile[prop];
}
IE没法这样,delete native对象的属性会报错,解决办法是重用script,例如始终只用一个或者几个。
我测试了一下,貌似IE无论是只用一个script,还是不住创建销毁script,内存都会飙升到1G多,并且不会释放内存,只有最小化一次浏览器,内存才会缓慢的释放。
(IE进程显示的内存数并非实际占用的内存大小)
求解决之道~~~~不胜感激,Google的文章基本都看遍了。。。
<!DOCTYPE html>
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="zh-CN">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta name="keywords" content=""/>
<script language="javascript">
var mm1 = 0;
// 每次新建script
function memery(){
mm1++;
arrcol为js文件里面的一个大数组
if(window.arrcol){
arrcol = null;
delete arrcol;
}
var ds = document.getElementById("dataScript");
if(ds){
ds.id="";
ds.src = null;
ds.parentNode.removeChild(ds);
ds = null;
}
var sc = document.createElement("script");
sc.id="dataScript";
document.getElementsByTagName("head")[0].appendChild(sc);
// data1.js和data2.js为两个大数组,其实这里用一个js就可以, 不用两个js
sc.src = "data"+mm1%2+".js?num="+mm1;
}
// 只用一个script
// function memery(){
// mm1++;
//
//// arrcol为js文件里面的一个大数组
// if(window.arrcol){
// arrcol = null;
// delete arrcol;
// }
//
// var ds = document.getElementById("dataScript");
// if(!ds){
// ds = document.createElement("script");
// ds.id="dataScript";
// document.getElementsByTagName("head")[0].appendChild(ds);
// }
//
//
//
//
//// data1.js和data2.js为两个大数组,其实这里用一个js就可以, 不用两个js
// ds.src = "data"+mm1%2+".js?num="+mm1;
//
// }
</script>
</head>
<body onload="">
<input type="button" value="test" onclick="memery()" />
<div id="imgs_div"></div>
Neil Fraser说script加载json内存会不释放,必须这么来一下:<br>
for (var prop in jsFile) {
delete jsFile[prop];
} <br>
IE没法这样,delete native对象的属性会报错,解决办法是重用script,例如始终只用一个或者几个。<br>
<br>
我测试了一下,貌似IE无论是只用一个script,还是不住创建销毁script,内存都会飙升到1G多,并且不会释放内存,只有最小化一次浏览器,内存才会缓慢的释放。
<br>(IE进程显示的内存数并非实际占用的内存大小)<br>
求解决之道~~~~不胜感激,Google的文章基本都看遍了。。。
<br>
</body>
</html>
分享到:
相关推荐
解决IE的script error catched问题
ie客户端测试内存泄露工具,内置ie浏览器
修改IE进程数及内存释放问题
ie内存泄漏检测软件
Drip 检测IE内存泄漏,还可以,开发web程序的能用到
IE内存监控,很好的内存检测工具。多了就不用说了,用了就知道了。
Microsoft Script Debug是微软公司推出的一个脚本调试工具,Microsoft的这个工具只支持IE.在Win2000的安装包中包括了这一个文件.但在2000以后的版本,XP,WIN2003中都没有包含,但你可以从以下的Microsoft的站点的地址中...
可以查看IE使用的内存情况,和dom情况,和是否存在内存溢出。
如果安装了这个(当然安装了vc6或者vs2005以上的版本也可以调试)就可以在脚本发生异常的时候填出调试对话框,进而跟踪代码脚本执行,以及脚本变量的状态了
能够解决IE8打开出现内存不能READ和WRITTN,打开后又说明,直接运行
IE 内存检测工具
主要介绍了ie11 SCRIPT5011:不能执行已释放Script的代码 ,需要的朋友可以参考下
5: 在进入游戏的时候有时候会出现比如,“0x77f5cd0”指令引用“0xffffffff”内 存,该内存不能为“read 等等的问题!~ 如果遇到了上述问题可以尝试一下这种解决方法。虽然不是绝对的能解决,但可以把它为一种解决...
下面小编就为大家带来一篇解决ie img标签内存泄漏的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
3. 已解决SELECT 元素不能被div覆盖的问题。 14 第二节:IE7-IE8更新 14 1. 不再支持 CSS 表达式,改为支持增强的 CSS 或 DHTML 逻辑。 14 2. currentStyle 对象的Unset属性现在返回其初始值。 15 3. style 对象的 ...
Drip IE 内存 监控 工具,可以动态监控IE内存的变化,有利于客户端程序的调试
一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可以使用MemTest ...
div错位解决IE6IE7IE8样式不兼容问题
html版 需要用户用ie打开,...bat+reg版 考虑到用户电脑使用能力不强的情况下,没有对路径及activeX允许运行的约束,采用bat脚本注册ocx,reg导入ie安全设置和可信任站点,这个版本就没有添加将网址加入收藏夹的功能
IE下的内存泄露问题解决方案、讲解js闭包的所有方式