最近研究页面内存占用的时候发现除开 js 占用、GPU 和各种缓存,总内存占用还多出了好一些:
于是怀疑起 dom 节点,调试过程中通过 performance monitor 发现尽管已经倒序删除了 html 内的节点,还有上百个没法 gc 回收掉的节点。在 pjax 博客页面里也是这样,而且经常能累积到上千个..
想询问一下这些节点对内存真的有影响吗,如果有的话能有办法彻底删除吗
调试用: https://pastebin.com/v8iTHXES
使用的浏览器是 Edge Chromium
1
SunriseFox 2020-04-13 15:49:40 +08:00 1
我试了下似乎和 DevTools 有关,开 about:blank 什么也不做也会有很多 Dom Nodes,在 elements 面板鼠标滑过 HTML Tag 这个 Nodes 就会疯狂上升,在 performance 或 memory 面板选择 collect garbage 之后 Nodes 数值就会下降。猜想这个 DOM Nodes 里面包含还没来得及垃圾回收的节点?
|
2
SomeBottle OP @SunriseFox #1 试了一下确实如此,这样做了之后 gc 一下 nodes 数量会少很多.在调试用页面测试的时候我多执行了几次 removeChild,发现 Nodes 数量一下子变成两位数了...但是页面内存占用还是有 30000K,看来是没有很大关联了...
|
3
xcstream 2020-04-13 18:31:33 +08:00
会占内存 但对使用没影响
|