Geo*_*rge 5 html javascript jquery memory-leaks memory-management
我的javascript很简单.它只是不断调用ajax来下载数据并将其显示在我的屏幕上.我通过直接更新数据来重用这些DOM元素(使用jquery的$(DIV).empty()函数,然后追加另一个内容).然而,在一夜之间运行后,我的计算机挂了,似乎继续做某事.
我试着看一些firefox插件的内存消耗.运行两个小时后,内存可能增长200MB,但我不确定它是否仅由我的js或其他原因引起.
我对这个问题有一些疑问.1.是否有任何好的方法来监控它(例如特定网页使用了多少内存,占用了多少CPU资源,以及如何?)2.是否有任何一种通用的方法来设计js web app以避免这样的问题?
谢谢,任何评论表示赞赏!
某些版本的 Firefox 使用引用计数作为垃圾收集策略。引用计数在某些情况下容易导致内存泄漏。
Internet Explorer 和 Mozilla Firefox 是最常与 JavaScript 内存泄漏相关的两种 Web 浏览器。这两种浏览器的罪魁祸首是用于管理 DOM 对象的组件对象模型。本机 Windows COM 和 Mozilla 的 XPCOM 都使用引用计数垃圾收集来进行内存分配和检索。引用计数并不总是与用于 JavaScript 的标记和清除垃圾收集兼容。本文重点介绍解决 JavaScript 代码中内存泄漏的方法。请参阅参考资料以了解有关 Firefox 和 IE 中 COM 层内存处理的更多信息。
来自http://www.ibm.com/developerworks/web/library/wa-memleak/