内存泄露的根据原因:
两大对像:JS与DOM对象,之间存在相互引用。JS对象引用DOM结点,DOM结点的属性引用JS对象
具体代码为:
var obj = document.getElementById("someLeakingDIV"); document.getElementById("someLeakingDiv").xx= obj;
检查所用的方法:
1、slEve工具
2、打开slEve工具,在地址栏中输入相关地址.
3、点击go,再点击Scan Now!,当存在leak>o时
4、再点击show leaks
二:
常见泄露点:
1、循环引用(闭包)
var obj = document.getElementById("element"); // this creates a closure over "element" // and will leak if not handled properly. obj.onclick = function(evt) { alert("leak the element DIV"); };
可以改为dom.attachEvent();的形式。
2.obj=document.getElementById("DivElement"); document.getElementById("DivElement").expandoProperty=obj;