悬赏分:5 浏览:620 次
var arr=[];
//创建8000个div,并把它添加到document.body中
for(var i=0; i<8000; i++){
var div = document.createElement("div");
div.innerHTML = i;
arr[arr.length] = div;
document.body.appendChild(div);
}
//从document.body中移除这些对象
//现在问题是运行如下代码能够释放一定的内存,但似乎总有一些内存不是释放不掉,比如在创建8000个div之前,IE占的内存为21M,创建完成之后IE占25M,然后运行如下代码IE占用的内存会多于21M,似乎总有0.5至1M的内存释放不掉,
for(var i = 0; i < arr.length; i++){
var div = arr[i];
div.parentNode.removeChild(div);
delete arr[i];
}
arr = [];
不知是怎么回事
|
8个月前 t-mac.NET : 我也查了一下,有些资料说不提倡手动CollectGarbage(),,,再说这个只是IE特有的吧 |
|
8个月前 阿不 : 这不是IE特有的,而是javascript的设计。 所谓GC,就是自动垃圾回收器,最好不要手工去调用,这样会影响到性能。 .NET也是一样的。 |