开发过程中遇到的内存泄露情况,如何解决的?
Posted rxqlx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发过程中遇到的内存泄露情况,如何解决的?相关的知识,希望对你有一定的参考价值。
1、定义和用法:
内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。C#和Java等语言采用了自动垃圾回收方法管理内存,几乎不会发生内存泄露。我们知道,浏览器中也是采用自动垃圾回收方法管理内存,但由于浏览器垃圾回收方法有bug,会产生内存泄露。
2、内存泄露的几种情况:
①.当页面中元素被移除或替换时,若元素绑定的事件仍没被移除,在IE中不会做出恰当处理,此时要先手工移除事件,不然会存在内存泄露。
实例如下:
解决方法如下:
②.由于是函数内定义函数,并且内部函数--事件的回调的引用引暴了,形成了闭包。闭包可以维持函数内局部变量,使其得不到释放。
实例如下:
解决方法如下:
以上是关于开发过程中遇到的内存泄露情况,如何解决的?的主要内容,如果未能解决你的问题,请参考以下文章