有关造成内存泄露的可能原因,网上的教材大多有以下两点。
1.闭包的使用
2.循环引用(老式浏览器的垃圾回收手段“引用计数”,有可能造成此类问题)
本文将从实际代码编写的角度收录一些其他原因。
3.在HTML中直接绑定onclick时,如果将HTML元素动态删去,却忘记注销对应事件。(这样的bug很难被发现)
4.在一些框架的使用中(如React),如果用其他框架提供的方法创造了一些DOM元素或方法,则这些元素或方法有可能不会被框架自带的生命周期处理,如果没有留意在组件销毁时手动撤销,会产生一些问题。
----未完待续----