zoukankan      html  css  js  c++  java
  • IE的内存泄露问题(待完善)

    度娘解释

    内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。

    IE下Javascript中如何触发内存泄露(针对DOM操作)

    obj_div1.data = obj_div1;

    对自身的循环引用;

    var obj = obj_div1;
    obj.data = obj_div1;

    obj与obj_div1指向同一DOM对象,同样是对自身的循环引用;

    function f(){
        var _obj = document.getElementById("mydiv");
        _obj.datafilled = function(){
        return true;
      };

    };

    闭包的内存泄露比较隐蔽,因为闭包的循环引用是间接的。从表面上看,上面的代码中没有任何循环引用。但是有一个闭包,内部函数有权访问外部函数的变量。_obj是对页面DOM元素的引用,这个DOM元素长期在页面中,而它的属性又是一个可以访问自身的闭包(作用域链),所以产生循环引用的问题。

    解决的方法是最后解除对象引用,如:_obj = null;

     

  • 相关阅读:
    python—打开图像文件报错
    CTFshow萌新赛-萌新福利
    微信小程序bug
    微信小程序
    架构
    命令行
    MyBatis
    avalon
    并发测试工具
    less
  • 原文地址:https://www.cnblogs.com/zgl2007dj/p/3328266.html
Copyright © 2011-2022 走看看