performance - 谷歌浏览器的开发者工具时间线内存 View 中的 DOM 节点计数是多少?

标签 performance google-chrome

我收到“噢,啪!”加载某个网页时,chrome 崩溃。我正在尽力找出造成这种情况的原因,但遇到了很大的困难。

在 Chrome 开发者工具中,有一个“内存”选项卡,在查看计数器图表时,我注意到 DOM 节点计数线先上升、下降,然后继续上升。

Dom node count increasing

我理解这意味着我的页面上的 DOM 元素计数在增加,但是在执行完之后

document.getElementsByTagName("*").length

在控制台中我注意到该值没有改变。

那么 DOM 节点计数图实际显示的是什么呢?如果它继续像这样增加,这可能是“噢,啪!”的原因。崩溃?

最佳答案

DOM 节点计数图显示了仍保留在内存中(即尚未被垃圾收集)的已创建 DOM 节点的数量。这不必与通过 getElementsByTagName 获取的元素一致。后者也只会获取实际附加到文档树的元素。它不会获取您仍然引用的任何“离线”项目。

陷入这种特殊金字塔增长的一个简单方法是 Facebook API 中的 Like 小部件,它包含失控计时器上的一些代码,可创建大量额外的 DOM 节点。

关于performance - 谷歌浏览器的开发者工具时间线内存 View 中的 DOM 节点计数是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10901730/

相关文章:

css - Web 性能 - Github 是如何生成 "character images"的?

objective-c - 使用吗? : to do an assignment produce faster assembly than using if()?

javascript - 在 JavaScript 中搜索子字符串时,哪种解决方案执行得更快?

javascript - Angular ui-router 在 firefox 中工作正常,但在 chrome 中不行

javascript - 找到登录的 gmail 用户电子邮件地址

javascript - Function.prototype.bind() 总是很慢吗?

performance - MongoDB 按许多参数过滤(复合索引或不复合索引)

javascript - Chrome 扩展窗口 onload jquery

javascript - ParseFromString 在 IE 中抛出错误,但在 Chrome 中不会

javascript - 如何解决访问控制允许来源问题?