5

私はChrome's Timelineビューを使用して、自分のページ内のメモリリークを追跡しようとしました。 Webワーカーをインスタンス化した結果、特定のメモリリークが検出されましたが、これを取り除く方法がわかりません。Webワーカーのメモリリーク?

私はWebワーカーを読み込むだけで、何もしないためにページを削除しました。ページを更新するたびに、Chromeのタイムラインビューのドキュメント数が1ずつ増加します。Workerコンストラクタの呼び出しをコメントにしてページを更新すると、ドキュメント数が増えてから減少し、実質的に同じままです。作業者を手動で終了/終了しても問題は解決されません(ただし、開発者ツールの[ソース]タブでは作業者が表示されなくなります)。

ここで私のトリミングダウン.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> 
+0

作業者が作業を完了すると、[閉じる](https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIWorkerScope#close())自身が終了するか、ページが '終了する 'ことがあります。 –

+0

私はすでに両方を試していますが、いずれも問題を是正していません。さらに、私はページを出るときに作業員を解雇する必要があります。 –

+2

こちらは偶然にもhttps://code.google.com/p/chromium/issues/detail?id=181680ですか? –

答えて

3

これはChrome v25のメモリリークです。問題は再現できないため、Chrome v26では修正されているようです。

関連する問題