我開發了一個客戶端應用程序,不幸的是我懷疑內存泄漏。
該應用程序有很多私有克隆對象,並且在每個函數結束時,我通過將它們設置爲null來處理這些對象。 (foo = null;
)Javascript應用程序 - 泄漏內存
我的問題是,我應該如何處理對象?
使用foo = null
足夠嗎?
此外,有沒有任何工具可以幫助我識別問題?
SOLUTION
最終導致誤用jQuery的進度條
function updateProgressBar() {
if (!handle) //by adding this, the problem solved.
return;
jQuery("#progressbar").progressbar({
value: ++pct
});
if (pct >= 100) {
clearInterval(handle);
pct = 0;
setInterval("updateProgressBar()", 300);
}
}
你爲什麼懷疑有內存泄漏? – KTastrophy 2012-03-22 16:16:05
我觀察了瀏覽器的過程,我將在一兩分鐘後訪問應用程序,內存急劇增加,最終我從瀏覽器收到一條消息,提示「內存不足」。也許我用「懷疑」來使用錯誤的詞。正確的是,我確信:) – StrouMfios 2012-03-22 16:20:28
查看chrome開發人員工具。有一個堆快照可以顯示你在x時間消耗了多少內存,並可以讓你瀏覽整個鏈。 – Snuffleupagus 2012-03-22 16:21:17