在Internet Explorer中,我们可以通过这个方法来强制执行Javascript垃圾回收:CollectGarbage();
但是,在Firefox上该方法未定义。您是否知道有没有类似的方法?
谢谢。
在Internet Explorer中,我们可以通过这个方法来强制执行Javascript垃圾回收:CollectGarbage();
但是,在Firefox上该方法未定义。您是否知道有没有类似的方法?
谢谢。
(不仅限于基于 WebKit 的浏览器...)
--js-flags="--expose-gc"
启动它,则提供了 window.gc()
。about:memory
中点击“释放内存”按钮。window.opera.collect()
。window.CollectGarbage()
。请注意,不应手动运行GC。我发布这个只是因为它对开发测试有用。
访问about:memory
页面。
根据MDN上的文档:
about:memory is a special page within Firefox that lets you view, save,
load, and diff detailed measurements of Firefox's memory usage. It also
lets you do other memory-related operations like trigger GC and CC
我不确定这是否与主题无关,但火狐浏览器有一个叫做FreeMemory(https://addons.mozilla.org/en-US/firefox/addon/freememory/)的插件,可在不访问about:memory面板的情况下运行垃圾回收或循环收集,并具有可配置的计时器。 我相信其他浏览器也有替代方案。
我一直在试图强制进行垃圾回收,似乎无论实际浏览器的情况如何,一个相对不错的方法是运行以下代码:
function gc(max) {
var arr = [];
for (var i = 0; i < max; i++) {
arr.push(i);
}
return arr.length;
}
for (var i = 0; ; i++) {
// repeat until you have enough:
gc(Math.pow(2, i));
}