胖胖文章网 手机版
当前位置: 首页 > 百科知识 >

内存溢出怎么解决(内存溢出的原因分析和解决方法)

100次浏览     发布时间:2025-03-20 12:29:01    

一 内存溢出

  1. 什么是内存溢出

内存溢出(Out Of Memory,简称OOM)是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。此时程序就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件,而由系统配置、数据流、用户代码等原因而导致的内存溢出错误,即使用户重新执行任务依然无法避免。比方说连续请求数据很多次,会快速占满内存造成内存溢出,浏览器卡死。

二 内存泄露

  1. 什么是内存泄露

内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。

  1. 内存泄露的原因

意外的全局变量:由于 js 对未声明变量的处理方式是在全局对象上创建该变量的引用。如果在浏览器中,全局对象就是 window 对象。变量在窗口关闭或重新刷新页面之前都不会被释放,如果未声明的变量缓存大量的数据,就会导致内存泄露。==》》解决方法:尽量减少创建全局变量。

<template>
  <div id="home">这里是首页</div>
</template>
<script>
  export default {
    mounted() {
      window.test = {
        // 此处在全局window对象中引用了本页面的dom对象
        name: 'home',
        node: document.getElementById('home'),
      }
    },
  }
</script>

解决方法:在页面卸载的时候顺便处理掉该引用
destroyed () {
  window.test = null // 页面卸载的时候解除引用
 }

监听在 window/body 等事件没有解绑:特别注意 window.addEventListener 之类的监听

<template>
  <div id="home">这里是首页</div>
</template>

<script>
export default {
  mounted () {
    window.addEventListener('resize', this.func) // window对象引用了home页面的方法
  }
}
</script>
解决方法:在页面销毁的时候,顺便解除引用,释放内存
beforeDestroy () {
  window.removeEventListener('resize', this.func)
}

闭包引起的内存泄漏:由于闭包可以读取函数内部的变量,然后让这些变量始终保存在内存中。如果在使用结束后没有将局部变量清除,就可能导致内存泄露

被遗忘的定时器或者回调:定时器中有 dom 的引用,即使 dom 删除了,但是定时器还在,所以内存中还是有这个 dom。手动删除定时器和 dom,removeEventListener 移除事件监听

    相关内容:

  • 南非空军博物馆航空展在比勒陀利亚举行

    当地时间5月3日,2025年南非空军博物馆航空展在比勒陀利亚举行,今年展览主题为“传承之翼——迈向太空与未来前沿”。图为南非民众参观空军博物馆陈列飞机。中新社记者 孙翔 摄当地时间5月3日,2025年南非空军博物馆航空展在比勒陀利亚举行,今年展览主题为“传承之翼——迈向太空与未来前沿”。图为飞行秀中

    2025-05-04 11:52:00
  • 吃喝玩乐全聚齐 “五一”假期全国文旅“放大招”啦

    “五一”假期,陕西秦始皇帝陵博物院也迎来新一轮客流高峰,5月4日的门票已基本售罄,预计景区“五一”假期的参观总人数将突破35万人次。在秦始皇帝陵博物院记者看到,前来参观兵马俑的游客已经排起了长队。为满足游客参观需求,秦始皇帝陵博物院将检票时间由8时30分提前至7时,停止检票时间由17时推迟至19时,

    2025-05-04 11:04:00
  • 美国务院批准提供培训服务,美空军从“飞机坟场”拆F-16零件援乌

    【环球网报道 记者 姜蔼玲】据彭博社当地时间5月2日报道,美国国务院已批准向乌克兰提供价值高达3.5亿美元F-16战斗机培训与相关服务。此前不久,美国空军向美媒证实,已从亚利桑那州的“飞机坟场”调拨多架退役的F-16战斗机,为乌克兰提供零部件支持。美国国务院 资料图片 图源:美媒彭博社补充称,美国国

    2025-05-04 10:42:00
  • 河南博物院:警惕非官方网络平台 “买讲解保进馆” 等虚假信息

    5月3日,河南博物院发表声明,提醒游客警惕非官方网络平台 “买讲解保进馆” 等虚假信息。声明中称,据了解,五一假期期间,有不少参观河南博物院的游客因在第三方平台购买所谓“讲解加门票服务”导致无法入馆,严重影响公众合法权益和良好参观秩序,河南博物院已委托法律顾问予以取证。河南博物院郑重声明,河南博物院

    2025-05-04 10:15:00
  • 点赞,闵行这位社区民警获殊荣……

    这个“五一”劳动节,闵行公安分局华坪路派出所社区民警王文虎荣获上海市先进工作者称号,他曾荣获上海市“五一劳动奖章”。这些荣誉无疑是对他15年社区工作的肯定。时间回溯到1月10日,第五个人民警察节当天,他和徒弟付小飞并肩而立,“王文虎工作室”成立,身后传来一阵笑声:“这下‘飞虎队’要扩编了。”——“飞

    2025-05-04 10:06:00
  • 立即远离!外出遇到这种"塑料袋"别碰,有毒!

    想必这个五一假期不少人会选择去海边游玩近期各地进入升温通道如果在海边看到这样的“塑料袋”千万别捡!当地时间2024年3月27日,美国加利福尼亚州半月湾,沙丘海滩上的蓝色水母。近期,就有游客在广东深圳大梅沙海域发现了一大群不速之客提醒:不要去触碰!!!这一群看起来温柔清透的生物其实是水母漂浮在浅海中似

    2025-05-04 09:58:00

网站内容来自网络,如有侵权请联系我们,立即删除!
Copyright © 胖胖文章网 琼ICP备2023010360号-16

Top