最近在学习关于内存管理方面的知识,对于内存泄漏的问题还是一知半解,主要有这几个疑问:
1.现代浏览器是否已经解决内存泄漏问题
2.只要是闭包就一定会存在内存泄漏吗
3.dom对象和js对象循环引用一定会造成内存泄漏吗
4.使用框架能避免一定的内存泄漏问题吗,如jquery、vue等
最近在学习关于内存管理方面的知识,对于内存泄漏的问题还是一知半解,主要有这几个疑问:
1.现代浏览器是否已经解决内存泄漏问题
2.只要是闭包就一定会存在内存泄漏吗
3.dom对象和js对象循环引用一定会造成内存泄漏吗
4.使用框架能避免一定的内存泄漏问题吗,如jquery、vue等
1:没有,浏览器只是帮助我们GC,省去了我们手动GC
2:不是,闭包使用肯定有空间开销,只有使用不当才会内存泄漏
3:不会,IE6没处理DOM节点和JS之间的循环引用(因为BOM和DOM对象的GC策略都是引用计数),可能会出现内存泄漏,现代浏览器已经不需要这么做了,如果节点无法再被访问的话,监听器会被回收掉
4:不能,框架使用不当照样会内存泄漏
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
不过现代浏览器的确是解决了一些IE低版本下由于内存回收机制不完善导致的内存泄漏问题。