Rumah > Soal Jawab > teks badan
平常使用js时,也没有注意。但是最近听说这个问题在大型应用系统中比较严重,就搜索了一下。结果,还是似懂非懂。
造成泄露的情况有哪些?
如何判断造成了泄露?
怎么解决问题?
谢谢~
ringa_lee2017-04-10 14:33:05
很多情况下都可以造成内存泄漏。最常见的就是大量全局态+闭包。
假设你把一个函数attach到了某个事件上。这个事件后来不可能被触发了,但是你没把它删掉。结果这个函数又通过闭包引用了一大堆上级、上上级、……函数里的量。。。诸如此类
可以通过各种javascript heap profiler检查泄漏。比如chrome的开发者工具里就可以分析当前javascript堆的状态,还可以比较不同时期的状态。
解决方式当然是把指向不需要的对象的引用全部清除啦