我正在使用Safari浏览器查看富含Javascript的网页。我看到Safari在查看网页和进行各种操作时占用了大量内存(500-900 MB)。我想知道删除创建的DOM对象是否需要删除var elem = document.getElementById('Id1');
以优化此内存利用率?如果有任何其他指示,请建议。另外,我们如何以最简单的方式删除这个DOM对象?
由于 亚洲时报Siddharth
答案 0 :(得分:1)
澄清一点。您的示例代码不创建 DOM节点;它只检索对现有节点的引用:
var elem = document.getElementById('Id1');
一旦您有权访问该元素,就可以将其删除:
elem.parentNode.removeChild(elem);
答案 1 :(得分:1)
删除DOM节点可能没用如果您正在创建内存泄漏(可能无法从内存中清除它们)。
如果连接DOM节点并且可能会发生这种情况。代码中的javascript对象(DOM和JS垃圾收集器不会清除循环引用)。
如果你想摆脱这个问题:
答案 2 :(得分:0)
webkit检查器有一个用于此类事情的探查器实用程序。我不确定它是否存在于Safari版本中,但它绝对是Chrome版本。
Here是使用Safari Inspector实用程序的好教程。