firefox / webkit的javascript中是否有内存泄漏? (IE除外)

时间:2010-07-30 11:38:12

标签: javascript firefox memory-leaks webkit

我是HTML5应用程序的新手。我正在制作内部软件。这意味着我可以强制用户只使用最新版本的firefox / webkit。

我在这一点上看到了很多关于JS内存泄漏的文档:

  1. 循环引用。
  2. 活动处理程序。
  3. 闭包。
  4. 我认为,这只是(旧版本)IE的问题。但我不能确定这一点。所以我要问我是否必须在我的情况下解决这个问题。如果我应该,解决方案是什么,以及我需要关注的其他问题是什么?

1 个答案:

答案 0 :(得分:2)

使用javascript库,你会没事的。 jQuery使得你可以拥有循环引用,引用回jQuery对象的闭包,以及你永远不会清理的事件处理程序。如果需要,jQuery将自动获取卸载的所有部分,并且还可以防止内存在其支持的任何浏览器中泄漏。

如果您正在开发一个基于JS的应用程序,其中页面永远(或很少)刷新,那么您可能不得不担心泄漏,但它们很容易通过制作具有解构器的插件来破坏所有成员对象和dom元素。 jQuery .remove函数删除了dom元素,处理程序以及附加到该元素的任何其他内容。

所以只需使用JS库,如果你需要开发大量的JS代码,请小心并使用易于清理的设计模式(如jQuery的插件设计模式)。