我創建了一個簡單的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