我开发了一个客户端应用程序,不幸的是我怀疑内存泄漏。
该应用程序有很多私有克隆对象,并且在每个函数结束时,我通过将它们设置为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