1
33
有一篇关于 JavaScript and memory leaks . 它并没有具体介绍浏览器,而是描述了内存泄漏和JavaScript的整个问题。 我认为这是一个更好的方法,当为公众开发一个网站时,尽可能不具体地为一些浏览器安装优化。 |
2
22
这里有一个典型的内存泄漏,即:
在运行此代码之后,会出现循环引用,因为元素有一个函数分配了它的onclick事件,该事件引用了一个作用域对象,而该对象又保存了对元素的引用。 someElement->onclick->函数作用域->elem->someElement 在IE中,DOM元素是基于COM的引用计数对象,JavaScriptGC无法清除这些对象。 在上述代码中添加最后一行将清除它:
|
3
3
一般来说,循环引用是导致许多问题的原因。 我记得IE6(不确定它是否适用于7)使用xmlhttp泄漏非常严重…完成修复后,将onReadyStateChange设置为空。 |
4
2
您处理的是两种对象(和两种垃圾收集器)、javascript和dom对象,它们可以相互引用(循环引用),然后,即使页面卸载,GC也无法处理所有对象。下面是一个很好的描述: http://getben.com/archive/2006/05/30/Resolving-JavaScript-Memory-Leaks.aspx http://www.josh-davis.org/2007/04/11/javascript-built-in-listeners-and-memory-leaks/ |
5
1
你可以检查 this 有关Internet Explorer内存泄漏模式的msdn文章。还有一些检测内存泄漏的工具: |
Softly · 单选按钮未按预期取值 1 年前 |
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
assembler · Nextjs没有处理发布请求 1 年前 |
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
Toniq · javascript为php保存多维数组 1 年前 |