zoukankan      html  css  js  c++  java
  • 内存泄漏和内存溢出

    内存溢出:一种程序运行出现的错误,当程序运行需要的内存超过了剩余内存空间、时,就会抛出内存溢出错误
    内存泄漏:占用的内存没有及时释放,内存泄漏积累过多就容易导致内存溢出,常见的内存泄漏:意外的全局变量、没有及时清理的计时器或回调函数、闭包
    //内存溢出
      var obj = {}
      for (var i = 0; i < 10000; i++) {
        obj[i] = new Array(1000000)
        console.log('-------')
        console.log(obj)
      }

    //内存泄漏
       //1.意外的全局变量
      function fn () {
        a = new Array(1000000) //全局变量
        console.log(a)
      }
      fn() //正常如果是局部变量的话,在函数执行完成以后就会被释放,全局变量的话就一直存在于内存中
     //2.定时器
    var intervalid = setInterval(function () { //启动循环定时器后不清理
        console.log('-----')
      },1000)
    
      //clearInterval(intervalId) //关闭
    
      //3.闭包
    
      function  fun () {
        var a = 3;
        function fn1 () {
          console.log(a)
        }
        return fn1
      }
      var f = fn1()
      f()
     
    不积跬步无以至千里
  • 相关阅读:
    如何自定义iOS中的控件
    NSArray中的对象进行排序
    微信摇动代码
    思考面向对象
    网络编程 socket编程
    iOS RUN LOOP 是个什么东西?
    iOS runloop 自定义输入源
    iPhone开发资源汇总
    UISearchBar
    重学STM32---(八)----SDIO
  • 原文地址:https://www.cnblogs.com/lyt0207/p/12040092.html
Copyright © 2011-2022 走看看