簡體   English   中英

為什么這個javascript會導致瀏覽器因內存使用而崩潰?

[英]Why would this javascript be causing browser crashes from memory usage?

看起來我在這個小小的javascript中有一個主要的內存泄漏。 我希望有人能夠指出我可能會更高效的內存,並且不會導致瀏覽器崩潰。

這個javascript正在一個不斷在系統上運行的頁面上運行。 在連續運行大約一周后,它會獲得內存不足的應用程序。

任何提高效率的建議? 這有什么部分導致泄漏?

setInterval("$.get('Dashboard.aspx', function (data)
                                     {
                                         $('#buildMonitorBody').html(data);
                                     });"
            , 300000);

一如既往,我感謝任何可以給予的幫助。

將字符串一遍又一遍地傳遞給setInterval可能是內存泄漏的原因(可能不是垃圾回收)。 試着這樣做:

var loadDashboard = function() {
   $('#buildMonitorBody').load('Dashboard.aspx');
};

setInterval(loadDashboard, 300000);

您可以使用.load來簡化您的ajax請求。

根據我的理解,網頁並不意味着永久保持開放 - 對於這樣的事情,你有后台進程或Windows服務。

如果你必須堅持這種錯誤的方法,我的建議是每天使用這樣的代碼強制重新加載:

window.setTimeout(function() {
   document.location.href = document.location.href;
}, 1000 * 60 * 60 * 24);

希望重新加載頁面將釋放為眾多計時器調用保留的內存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM