【发布时间】:2015-05-04 17:13:02
【问题描述】:
我已经在 Chrome 开发者工具中分析了我的 web 应用程序,并提出了上面显示的时间线。我正在创建和删除悬停功能的元素。我在this article 中读到过这个。
这种模式是否表明我有内存泄漏?节点数(绿线)持续上升,内部 GC 没有下降。但是在我的强制 GC 上下降到零。这是常见的行为吗?
我的意思是,它在内存中拥有很多节点,即使它们不存在。如果我检查 heap,不存在对 DOM 节点的引用(没有分离的 DOM 等),这让我认为这不是内存泄漏?
你的五美分是多少?
代码如下:
$(document).on("mouseenter", ".btn", function(e){
var el = document.createElement("div");
el.id = "box";
document.body.appendChild(el);
});
$(document).on("mouseleave", ".btn", function(e){
$("#box").remove();
});
【问题讨论】:
-
如果它在强制 GC 上下降到 0,那么就没有泄漏。
标签: javascript jquery html memory memory-leaks