Sayfanızdaki bazı bellek sızıntılarını gidermek için Chrome's Timeline görünüm kullanıyorum. Web çalışanlarının nasıl kurtarılacağını anlayamadığımdan kaynaklanan belirli bir bellek sızıntısı buldum.Web İşçi Bellek Sızıntısı?
Sadece web çalışanını yüklemek ve başka bir şey yapmamak için sayfayı sıyırdım. Sayfayı her yenilediğimde, Chrome'un zaman çizelgesi görünümündeki Doküman Sayısı, 1 tarafından sürekli olarak artar. İşçinin yapıcısını aramamı söyler ve sayfayı yenilemeye başlarsa, doküman sayısı artar ve azalır, etkin olarak aynı kalır. İşçiyi manuel olarak sonlandırmak/kapatmak sorunu çözmez (geliştirici araçlarının Kaynaklar sekmesine baktığımda çalışanın kaybolduğunu görebilmeme rağmen).
Kesilmiş aşağı .htm dosyam. Ben html/javascript sadece bu kısa yığın sorunu çoğaltmak mümkün duyuyorum:
<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>
İşçiniz görevini tamamladığında [kapatabilir] (https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIWorkerScope#close()) kendiliğinden veya sayfanız "sonlandırma" olarak adlandırılabilir. –
Zaten ikisini de denedim ve ne bir çaresi sorunu. Ayrıca, sayfadan ayrıldığımda çalışan işten çıkarılmalı. –
Şans eseri böyle midir? Https://code.google.com/p/chromium/issues/detail?id=181680? –