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>
作業者が作業を完了すると、[閉じる](https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIWorkerScope#close())自身が終了するか、ページが '終了する 'ことがあります。 –
私はすでに両方を試していますが、いずれも問題を是正していません。さらに、私はページを出るときに作業員を解雇する必要があります。 –
こちらは偶然にもhttps://code.google.com/p/chromium/issues/detail?id=181680ですか? –