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

1、定义和用法:

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

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

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

实例如下:

解决方法如下:

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

实例如下:

解决方法如下:

 

posted @ 2019-01-16 15:10  让心去旅行  Views(631)  Comments(0Edit  收藏  举报