闭包造成的内存泄露怎么解决?

1什么是内存泄露?

1. 定义:一块被分配的内存既不能使用,也不能回收。从而影响性能,甚至导致程序崩溃。

 2. 起因:JavaScript的垃圾自动回收机制会按一定的策略找出那些不再继续使用的变量,释放其占有的内存。然而由于一些原因导致在这种机制下内存管理器不能正确解读JavaScript变量的生命周期,从而没有释放其内存,而也没有再被使用。

 循环引用是导致以上情况的主要原因之一。

2 解决办法

常用的解决方法就是在JavaScript代码段运行完之时将形成循环引用的JavaScript对象手动设置为空,切断引用。

 

posted @ 2017-09-06 21:25  peko  阅读(4506)  评论(0编辑  收藏  举报