开发过程中遇到的内存泄露情况,如何解决的?

Posted rxqlx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发过程中遇到的内存泄露情况,如何解决的?相关的知识,希望对你有一定的参考价值。

1、定义和用法:

内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。C#和Java等语言采用了自动垃圾回收方法管理内存,几乎不会发生内存泄露。我们知道,浏览器中也是采用自动垃圾回收方法管理内存,但由于浏览器垃圾回收方法有bug,会产生内存泄露。

2、内存泄露的几种情况:

①.当页面中元素被移除或替换时,若元素绑定的事件仍没被移除,在IE中不会做出恰当处理,此时要先手工移除事件,不然会存在内存泄露。

实例如下:

技术分享图片

解决方法如下:

技术分享图片

②.由于是函数内定义函数,并且内部函数--事件的回调的引用引暴了,形成了闭包。闭包可以维持函数内局部变量,使其得不到释放。

实例如下:

技术分享图片

解决方法如下:

技术分享图片

 

以上是关于开发过程中遇到的内存泄露情况,如何解决的?的主要内容,如果未能解决你的问题,请参考以下文章

js内存泄露的几种情况

解决iOS内存泄露

什么是内存泄露?内存泄露如何解决?

Js内存泄漏的几种情况

Linux 内存泄露小结

Android中内存泄露与如何有效避免OOM总结