如何验证特定的Javascript对象是否会被垃圾回收?

时间:2014-01-19 01:19:40

标签: javascript garbage-collection

我可以做出任何断言来验证特定对象可以在Javascript中进行GC吗?目的是让一个单元测试断言内存泄漏是固定的。

此时我不知道对此有任何直接的语言支持 - 我不认为Javascript有弱引用或终结器,这就是我可能会用Java或C#来完成的。

1 个答案:

答案 0 :(得分:1)

您不能拥有任何检测特定对象是否可以GC的JavaScript代码。测试它的代码将使它不被垃圾收集,因为根据定义,该代码将引用它并且垃圾收集器不会GC仍然具有对它的实时引用。

您可以采取哪些措施来验证没有内存泄漏:

  1. 设计一个反复运行违规代码的测试,并测量浏览器的总内存使用量,以验证内存使用情况不会上升和上升。

  2. 为对象(例如mongo字符串)分配一个巨大的属性值,该对象太大,以至于您可以清楚地看到这些对象是否在总内存使用量中泄漏。

  3. 使用各种开发人员工具(因浏览器而异)可以更精细地查看浏览器内存使用情况。