分离的DOM树被引用为本机链接

时间:2016-01-12 16:12:35

标签: javascript memory google-chrome-devtools

我正在尝试摆脱分离的DOM元素,并且很难找到泄漏的原因。

有人可以帮我理解存储在分离窗口属性中的DOM包装器的本机链接是什么。什么是原生链接

https://developer.chrome.com/devtools/docs/heap-profiling-dom-leaks

  

通过跟踪窗口对象的路径,可以观察到它   分离的DOM树被引用为DOM的本机链接   存储在分离窗口属性中的包装器。为了证实这一点,做   以下......

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

在您链接的示例中,有一个名为“ detached”的变量正在窗口对象上创建为全局变量。

window.detached

然后,它们继续生成带有许多子项和额外数据的整个DOM树,并将该引用存储在window.detached变量中。但是,它实际上并没有安装到DOM中。

您引用的块只是指出,如果您生成的任何dom节点仍然具有指向它们的活动引用(在这种情况下,引用是window.detached),那么它们将不会是垃圾收集。

他们要指出这一点很麻烦,因为有些人可能希望您一旦从DOM中卸载一棵节点树,它们就会成为GC的候选对象。他们指出,真正重要的是是否仍然可以引用该项目。如果没有,它将被GC处理。否则,它会徘徊。