我创建了一个简单的JavaScript代码段来测试内存泄漏。
function createDom(howmany)
{
var i;
var el;
var body = $("body");
for(i=0;i<howmany;i++)
{
el = $("<div></div>");
el.text(i);
el.addClass('element');
body.append(el);
}
}
$(document).ready(function(){
createDom(10000)
});
当我在Chrome中打开文件时,它使用了大约20mb。当我移动到一个新的网址(about:blank)时,Chrome会清除内存。
问题是,当我执行$(“。element”)。remove()时,Chrome使用更多的内存。更大的问题是即使我更改了URL,内存仍然保留。
我是不是测试不正确?我几乎觉得我应该隐藏所有的元素,而不是将它们删除...
http://stackoverflow.com/questions/1462649/jquery-memory-leak-with-dom-removal – 2012-01-12 12:07:02
@Sudhir //我试过OP的函数(removeWithoutLeak),但我仍然得到相同的结果。 – Moon 2012-01-12 12:15:13