如何从DOM中删除元素时检查是否发生内存泄漏?

时间:2009-09-24 05:02:01

标签: javascript jquery memory-leaks

<div id="target">
...

</div>

$('#target')。html('')将删除内容,但如何检查是否同时删除了侦听器或其他任何保存内存的内容?

3 个答案:

答案 0 :(得分:2)

标准JavaScript定义无法检测解释器的垃圾收集器,因此我认为这不可行。

但是,由于删除节点不是一种不常见的操作,我不担心浏览器在这种情况下泄漏内存。事实上,正如Piskvor所说,内存可能不会立即释放,但是当垃圾收集器最终运行时。

答案 1 :(得分:2)

我不确定如何在JavaScript中检测到泄漏(使用JavaScript)。但是有一些工具可用于检测JavaScript中的泄漏

答案 2 :(得分:0)

我不是这方面的专家,但由于你使用的是jQuery,你应该使用$('#target').empty()。这会在删除子元素之前分离所有事件处理程序。收集这些内容取决于浏览器,但这可确保在时间到来时收集它们。您还可以使用$.remove()删除所选元素和所有子元素。

http://api.jquery.com/empty