哪些版本的 Internet Explorer 存在内存泄漏?

哪些版本的 Internet Explorer 存在内存泄漏?

我读过道格拉斯·克罗克福德的互联网上也有传闻称,某些版本的 Internet Explorer 会因 DOM 和 JavaScript 之间的交互而出现内存泄漏。这些是哪些版本?

答案1

根据这篇博文一位微软员工表示:

正如本文详细描述的那样MSDN 文章以前版本的 Internet Explorer 中的 JScript 垃圾收集器管理 JScript 对象的生存期,但不管理 DOM 对象的生存期。因此,JScript 垃圾收集器无法打破 DOM 对象和 JScript 对象之间的循环引用,并且可能会发生内存泄漏。

  • 在 IE6 中,当 Internet Explorer 进程终止时,这些循环引用就会被打破(并且泄漏非常频繁)。
  • 在 IE7 中,当用户离开页面时,这些循环引用就会被打破。
  • 在 IE8 中,该问题已完全缓解。

需要支持旧版本 Internet Explorer 浏览器的程序员仍应注意 JScript 闭包等编程模式,因为它们可能会导致内存泄漏。

相关内容