内存溢出怎么解决(内存溢出的原因分析和解决方法)
一 内存溢出
- 什么是内存溢出
内存溢出(Out Of Memory,简称OOM)是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。此时程序就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件,而由系统配置、数据流、用户代码等原因而导致的内存溢出错误,即使用户重新执行任务依然无法避免。比方说连续请求数据很多次,会快速占满内存造成内存溢出,浏览器卡死。
二 内存泄露
- 什么是内存泄露
内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
- 内存泄露的原因
意外的全局变量:由于 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 移除事件监听
相关内容:
-
《祁明林小满宋茹》大结局在线阅读 《祁明林小满宋茹》最新章节目录
第一章:奇怪订单祁明把电动车停在幸福花园小区3单元门口时,手机显示下午5点23分。他扫了一眼订单备注——和过去十六天一模一样的一行字:"放门口,不要敲门,不要按门铃。""又是404
2025-09-12 20:00:08 -
金主破产后,我带球跑了许令方斯臣推荐完本_已完结金主破产后,我带球跑了(许令方斯臣)
《金主破产后,我带球跑了》文风独树一帜!作品受数万人追捧,主要讲述了许令方斯臣的情感故事,喜欢这本的绝对不容错过!简介: 我回:【他破产了,上个月跟我分了,现在送外卖养白月光呢】璐璐:【……】【怎么说呢,真是个重情重义的男人】璐璐父亲早死,母亲瘫痪,学历又不高,靠摇奶茶维生。这两年来,我接济了她不少
2025-09-12 19:17:00 -
老书虫推荐《参加同学会后,全班都疯了》 在线阅读
在木千的笔下,《参加同学会后,全班都疯了》描绘了陈洛林望载的成长与奋斗。陈洛林望载一路经历了苦难和挫折,却从未放弃追寻自己的梦想。通过与内心的战斗和与外界的冲突,陈洛林
2025-09-12 18:40:16 -
黑红岚柏的小说_本想陪她同甘共苦,没想到意外完成爷爷的千亿考验林睿林知夏小说阅读
《本想陪她同甘共苦,没想到意外完成爷爷的千亿考验》这部小说的主角是林睿林知夏,《本想陪她同甘共苦,没想到意外完成爷爷的千亿考验》故事情节经典荡气回肠下面是章节试读,内容情节极度舒适。主要讲的是:女友创业失败,我陪她在天桥下摆了五年地摊公司东山再起那天,她把所有亲信都请到了豪华包间,说要***行赏。当
2025-09-12 17:29:00 -
宗门双青梅为魔族圣子废我修为后苏挽璃沈重光推荐完本_已完结宗门双青梅为魔族圣子废我修为后(苏挽璃沈重光)
《宗门双青梅为魔族圣子废我修为后》是作者太萌挨揍了的经典作品之一,主要讲述苏挽璃沈重光的故事,故事无删减版本非常适合品读,文章简介如下: 我是宗门人尽皆知的废柴。母亲失踪后,是我的两个青梅拼着受罚,也要护在我身前,挡住所有嘲讽与欺凌。大师姐苏挽璃会冷着脸训退所有非议,小师妹晏知意会笑着将最好的丹药都
2025-09-12 16:59:00 -
叶长欢陈珩小说<穿成太子妃后总裁他总想护短>全文在线阅读
《穿成太子妃后总裁他总想护短》文章写得好,情节逼真,内容感人,叶长欢陈珩等人物描写的维描维绡,这样的穿越架空小说被不爱茄子写的堪称完美。主要讲的是:最后,还是在她旁边的小宫
2025-09-12 16:39:06