IE 6中具有内存泄漏的巨大Web应用程序

时间:2020-03-05 18:41:29  来源:igfitidea点击:

我有一个巨大的Web应用程序,该应用程序在IE 6中存在内存泄漏问题。

修复显示问题的5行代码示例中的内存泄漏很容易。

但是,如果我的应用程序非常庞大,那么应该从哪里开始呢?

解决方案

回答

查看滴水。通常,这可以避免IE内存泄漏的猜测。

如果由于某种原因Drip找不到它,请仔细查看任何可用于事件的JavaScript代码。这几乎始终是浏览器中任何重大内存泄漏的根源。

销毁带有添加处理程序的DOM元素,而不先删除那些处理程序,将防止恢复与那些处理程序关联的内存。

回答

该应用程序是否使用大量JavaScript?

如果确实如此,那么我发现有助于避免内存泄漏的一件事就是确保我们使用的是Prototype或者jQuery之类的JavaScript框架,因为它们已经尝试并测试了不会泄漏内存的事件处理代码。

  • 如果我们有对DOM对象的循环引用,IE6也会泄漏内存
  • 还可以尝试使用此JavaScript内存泄漏检测器,看看是否可以诊断问题出在哪里。

回答

我们正在从Java函数中泄漏内存吗?

这是一个解决方案:取出自制Java并将其删除。使用标准javascript框架之一,例如jQuery。

如果我们使用的是复杂的javascript而不是Java专家,请不要自己做。

编辑:什么,那是不好的建议? Javascript不只是一种简单的脚本语言;它是一种复杂且功能强大的编程语言,与HTML DOM紧密相连,而HTML DOM在不同的浏览器中以不同的方式实现。如果做错了,不仅会泄漏内存,还会到处引发错误,通常会使浏览体验变得糟糕。我们想驱赶访问我们网站的人吗?不?然后,使用JavaScript框架并摆脱所有骇客的跨浏览器狂潮。