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浏览器的一些问题逐渐暴露出来,其中最知名的便是“内存泄漏”问题。 内存泄漏,简单来说,是指程序在申请内存后,无法释放已申请的内存空间,一次小的内存泄漏可能影响不大,但随着时间...
在IT行业中,内存泄露是一个至关重要的问题,尤其对于长时间运行的应用程序,如Web浏览器,例如Internet Explorer(简称IE)。"ie内存泄露监控软件"是专门针对IE浏览器设计的一种工具,旨在检测和分析IE客户端可能...
内存泄漏是编程中的一个常见问题,尤其是在JavaScript环境中,由于IE浏览器的内存管理机制,这个问题显得尤为突出。Drip作为一个实用的工具,帮助开发者定位和解决这一问题,提高Web应用程序的性能和稳定性。 在...
通过熟练使用“ie Microsoft script debugger”,开发者可以更高效地诊断和修复JavaScript代码的问题,提高网页应用的稳定性和性能。在现代开发环境中,虽然很多浏览器已经内置了强大的开发者工具,但对旧版IE的支持...
标题中的“IE内存泄露分析工具:sIEve/Drip”指的是两个专门用于检测和分析Internet Explorer浏览器内存泄漏问题的工具。sIEve和Drip是独立的工具,但它们都致力于帮助开发者定位和解决IE浏览器中的内存管理问题。 ...
本文将详细探讨如何针对"修改IE进程数及内存释放问题"进行优化。 首先,让我们了解IE浏览器在处理多标签时的工作机制。自IE8版本开始,微软引入了多进程架构,每个选项卡都会运行在一个独立的进程中,以提高浏览器...
总结来说,"脚本IE内存泄露检测.rar"是一个专为Internet Explorer设计的JavaScript内存泄漏检测工具,可以帮助开发者识别和解决JavaScript代码中的内存管理问题,提高应用程序的性能和稳定性。使用该工具需要运行...
标题中的“IE8打开出现内存不能READ和WRITTN的解决方法”指的是在使用Internet Explorer 8(简称IE8)浏览器时,用户可能会遇到错误提示,指出“内存不能为READ”或“内存不能为WRITTN”。这种情况通常表明IE8在运行...
然而,在某些情况下,尤其是在老版本的Internet Explorer(IE)浏览器中,可能会出现内存泄露问题。内存泄露是指程序在申请内存后,无法释放已申请的内存空间,一次小的内存泄露可能没什么大碍,但随着时间推移,...
这个工具专门设计用于检查和分析IE浏览器在运行时的内存使用情况,帮助用户或开发者识别可能导致性能问题或者内存泄漏的潜在问题。 **描述解读:** 描述中提到,“IE内存监控”是一个优秀的内存检测工具,没有过多...
3. **ActiveX控件**: 在IE中,ActiveX技术常用于增强网页功能,但不恰当的使用可能导致内存泄漏。 4. **内存剖析**: 这是检测内存泄漏的重要手段,通过查看程序运行期间内存的分配和释放情况,找出异常增长的部分。...
值得注意的是,尽管sIEve主要用于检测IE的内存泄露,但它并不能自动修复这些问题。修复工作仍需要开发者手动进行。此外,由于sIEve专注于IE,对于其他浏览器的内存管理问题,它可能无法提供帮助。 总结来说,sIEve-...
可以查看IE使用的内存情况,和dom情况,和是否存在内存溢出。
- **调用CollectGarbage()**:在某些情况下,即使删除了DOM元素并清空了src,IE仍然可能不立即释放内存。可以尝试调用`CollectGarbage()`函数强制进行垃圾回收。但需要注意的是,这个函数在现代的IE版本中已经被...
**Drip IE内存监控工具...总之,Drip IE内存监控工具是开发和维护基于IE浏览器的应用程序时的一款有力辅助工具,它能够帮助开发者深入理解内存使用情况,提升代码质量和程序性能,降低出现因内存问题导致的故障风险。
标题中的“IE浏览器IFrame对象内存不释放问题解决方法”是指在使用Internet Explorer(IE)浏览器时,特别是在涉及IFrame对象的场景下,可能会遇到内存管理的问题。IFrame是一种可以在网页中嵌入其他HTML页面的元素...
Microsoft Script Debug是微软公司推出的一个脚本调试工具,Microsoft的这个工具只支持IE.在Win2000的安装包中包括了这一个文件.但在2000以后的版本,XP,WIN2003中都没有包含,但你可以从以下的Microsoft的站点的地址中...
在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实IE给出了解决方案Google也给出了解决方案 百度也应用了这种方案去解决IE的兼容问题 百度源代码如下 <!Doctype html> ...