【发布时间】:2011-07-24 10:58:50
【问题描述】:
我收到了我的前辈从事的一个项目,这个项目的开发牢记整个页面永远不应该重新加载。所以很明显一切都进入了ajax。它有 100 行类似这样的行。
function iCreateProblems()
{
//some rubbish
document.getElementById('some_rubbish').innerHTML=obj1.responseText;
}
典型的响应文本是"<div onClick="handleMe()">some thing stupid</div>";
页面上有三个主要的 div,所有内容都重复加载并重新加载到这些 div 中。现在据我了解,这显然会导致内存泄漏,对吗?那么我该如何解决这个问题?大约有 8000 行代码以这种方式运行。有没有办法修复内存泄漏?有数百个像这样分配的处理程序。我现在该怎么办?
【问题讨论】:
-
是什么让你认为会有内存泄漏? JavaScript 在浏览器内部进行解析并完全由它管理,很难相信 DOM 操作会导致任何泄漏,无论它看起来多么复杂。您是否正在寻找代码优化?
-
你能解释一下代码试图提供的功能吗?如果可能,您可能希望完全替换它。
-
另外,您可能对此感兴趣:javascript.crockford.com/memory/leak.html。
标签: javascript ajax memory-leaks