请考虑以下的JavaScript。 我本来以为在循环分配将允许garbaging集合中防止溢出堆踢。 它正确地这样做在Firefox,但在Chrome(在OSX测试)的片段经过多次反复崩溃打开的选项卡。
for (var i = 0; i < 1024; ++i) {
// Allocate a 16mb buffer
var buffer = new Float32Array(1024*1024*4);
// Try to explicitly mark it for free by either
delete buffer;
// or
buffer = null;
console.log(i);
}
这本身脚本它不那么有用。 但我想,以优化为了我的JavaScript应用程序为它使用较少的内存。 因此,我想你的意见。 这是浏览器的错误? 你知道的任何变通办法的显式调用代码执行过程中的垃圾收集(在FF和IE浏览器,他们似乎存在)? 谢谢!
编辑:似乎有存在于Chrome检查一个按钮,所谓的“垃圾收集”。 这是督察的“时间轴”面板上的下杆7日按钮。 这难道不意味着一个方式存在从JavaScript调用GC? 毕竟,没有督察的部分地区Javascript编写的?