Javascript垃圾收集通知

时间:2015-07-18 15:36:34

标签: javascript garbage-collection

当浏览器触发垃圾回收时,有没有办法得到通知? (或者收集垃圾完成)

在开发Web应用程序的过程中,当使用的堆在垃圾回收后设定了一定的值或比例时,通知它会非常方便。

2 个答案:

答案 0 :(得分:2)

简单回答:这取决于浏览器的实现(使用当前浏览器:否)

首先,内存管理不是JavaScript的一部分,它是环境的一部分(例如,浏览器)。由于JavaScript在浏览器创建的VM上运行,因此与其他语言一样,它的平台任务不是语言本身。与Java一样,JVM决定何时运行GC,而不是Java。

其次,关于通知部分,它取决于浏览器的实现。目前,没有着名的浏览器提供这样的功能,以便在GC触发和完成时通知用户。但是,在调试期间,可以使用浏览器的分析器手动获取内存信息。

但是,在程序执行期间,可以在window对象中找到有关其内存的信息。 您可以实现回调函数,以便在需要时使用window.performance.memory对象获取有关内存使用情况的知识。

在chrome中,如果您使用--enable-memory-info开关运行chrome,则会提供更新信息。

对于Chrome,可以在此处找到更多信息:http://blog.chromium.org/2011/05/chrome-developer-tools-put-javascript.html

答案 1 :(得分:0)

对于无特权的javascript,没有这样的API。但是,当您开发软件时,您可以使用各种浏览器的分析器/调试工具来观察代码的行为 - 包括垃圾收集。