【问题标题】:What tools and techniques do you use to fix browser memory leaks?您使用什么工具和技术来修复浏览器内存泄漏?
【发布时间】:2010-09-10 20:29:30
【问题描述】:

我正在尝试修复 IE 7 中的内存泄漏。使用 Drip 进行调查,但当大多数动态生成的 DOM 元素没有唯一 ID 时,它并没有多大帮助。

提示?

【问题讨论】:

    标签: javascript internet-explorer memory


    【解决方案1】:

    你应该试试微软内部开发的Javascript Memory Leak detector

    【讨论】:

    • 只看这个网站似乎就是我想要的。它似乎比我已经使用的调试器功能强大得多。
    • 但它总是会在页面卸载时检测到。 IE7 会在卸载时恢复泄漏.. 那么如何在 IE 7 中检查?
    【解决方案2】:

    嗯,最好的办法是了解导致它们的原因,这样您就可以批判性地查看代码,识别可能导致泄漏的模式,然后避免或围绕它们进行重构。

    这里有几个链接可以帮助您入门,两者都非常有用:

    【讨论】:

    • 谢谢丹,其实我已经阅读了它,包括你提到的第二篇文章。我正在使用 GWT 和非常少的 JSNI,所以很多内存泄漏模式都会自动被卡掉。仍然看到一些泄漏,但调试器只显示了泄漏中涉及的 TABLE 等元素。
    【解决方案3】:

    请记住,内存泄漏实际上与您自己没有清理干净有关。您所需要的只是一个小组织。

    过去,我创建了自己的代理对象,用于将事件附加到 DOM 元素。它使用我的 javascript 库的 api 来实际设置和删除事件。代理本身只是跟踪所有引用,以便我可以在其上调用一个方法,让它清理我所有潜在的内存泄漏。

    出于我的目的,我可以在页面上调用一个解构器,当用户离开页面时,它会清理整个页面的泄漏。

    您可能需要更精细,但技术是一样的。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-08
    • 2011-04-21
    • 2019-07-09
    • 2010-09-14
    • 2011-03-21
    • 1970-01-01
    • 2012-01-13
    • 2011-09-22
    相关资源
    最近更新 更多