标签:
(1)概念:指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。
(2)主要原因:
1)当页面中元素被移除或替换时,若元素绑定的事件仍没被移除,在IE中不会作出恰 当处理,此时要先手工移除事件,不然会存在内存泄露。
2)循环引用:常见并且一般情况下无害,但是,在 IE 中,如果循环引用中的任何对 象是 DOM 节点或者 ActiveX 对象,垃圾收集系统则不会发现它们之间的循环关 系与系统中的其他对象是隔离的并释放它们。最终它们将被保留在内存中,直到浏 览器关闭。(打破循环)
3)自动类型装箱转换:IE下造成内存泄漏(先转换成相应类型)。
4)DOM插入顺序从外到内,IE特有问题(应该从内到外添加)。
5)反复重写同一个属性会造成内存大量占用(但关闭IE后内存会被释放,避免这样写)
6)闭包(打破循环引用,将引用对象置空)。
标签:
原文地址:http://www.cnblogs.com/n-q-y/p/4491030.html