通俗易懂的内存泄漏答疑
内存泄漏场景,监控,分析
内存泄漏概念的理解
Q:什么是内存泄漏?
A:内存没有及时回收,被泄漏了
Q:为什么会发生内存泄漏?
A:虽然前端有回收机制,有些内存无法回收,但却是垃圾,这就是属于内存泄漏,回收机制通常就是标志清除策略,
当不同的生命周期的两个东西互相通信,一方该回收了,一方还持有,就会发生内存泄漏。
那些场景下会发生内存泄漏
1,意外的全局变量:全局变量的生命周期非常长,所以全局变量上的内存一直不会被回收
2,遗忘的定时器:开完定时器,最后必须得手动赋值为null
3,使用不当得闭包:闭包本身不是内存泄漏,因为未来还会持续用到,会导致内存得消耗,所以不能滥用
4,遗忘得DOM元素:被引用了就会产生内存消耗,要在页面及时清除和在JS里面清除引用
5,网络回调:页面销毁时及时注销回调
如果监控内存泄漏呢
0,浏览器,按F12
1,perfromance:性能,
2,memory:记忆,快照,