5

我一直在使用Chrome 的时间轴视图来尝试追踪我页面中的一些内存泄漏。我发现了一个特殊的内存泄漏,它是由实例化网络工作者导致的,我似乎无法弄清楚如何摆脱它。

我已经剥离了页面,只加载了 web worker 而没有做任何其他事情。每次刷新页面时,Chrome 时间轴视图上的 Document Count 都会永久增加 1。如果我注释掉对 Worker 构造函数的调用,并开始刷新页面,文档计数会先增加后减少,实际上保持不变。手动终止/关闭工作人员并不能解决问题(尽管当我查看开发人员工具的 Sources 选项卡时可以看到工作人员消失了)。

这是我精简的 .htm 文件。我可以用这一小段 html/javascript 重现这个问题:

<html>
<script type="text/javascript">
var worker_blob = new Blob(["var test = 1;"]);
var worker_url = window.URL.createObjectURL(worker_blob);
// Comment out the line below and the memory leak goes away
var worker = new Worker(worker_url);
window.URL.revokeObjectURL(worker_url);
</script>
</html>
4

1 回答 1

3

This is a memory leak in Chrome v25. It appears to be fixed in Chrome v26, as the issue can no longer be reproduced.

于 2013-03-29T23:09:24.840 回答