在Internet Explorer中,我们可以使用此方法强制执行Javascript垃圾收集:CollectGarbage();
该方法在Firefox上未定义。你知道是否有某种等价物吗?
感谢。
答案 0 :(得分:11)
(不只是将此答案限制在基于WebKit的浏览器......)
--js-flags="--expose-gc"
从命令行/终端启动它,则会提供window.gc()
。about:memory
中的按钮。window.opera.collect()
。window.CollectGarbage()
。请注意,您不应手动运行GC。我之前只发布了这个,因为它对开发测试非常有用。
答案 1 :(得分:1)
我一直试图强制使用GC,似乎无论实际的浏览器如何,这样做的方法都是运行以下代码:
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));
}
当然,一个问题是知道何时停止调用gc(...):因为那个需要一些外部方法来检测GC是否成功结束。在我的情况下,我使用的是嵌入式WebView,我可以在强制下一轮使用更大的阵列之前进行检查。
答案 2 :(得分:1)
我不确定这不是主题,但有一个名为FreeMemory(https://addons.mozilla.org/en-US/firefox/addon/freememory/)的firefox附加组件可以运行垃圾或循环收集而无需访问:内存窗格,可配置计时器。我相信其他浏览器还有其他选择。
答案 3 :(得分:1)
访问<android xmlns:android="http://schemas.android.com/apk/res/android">
<application android:theme="@style/awesome"/>
</android>
。
来自页面documentation on MDN:
about:memory