内存泄漏
一些不会用到的内存没被及时释放即可造成内存泄漏。例如某些变量已经使用完但是还存在引用,垃圾回收机制不能回收,造成了内存泄漏。
识别内存泄漏
浏览器;命令行:
- 浏览器 :开发者工具——>memory,
·先进行垃圾回收,再点击录制(如果是JS堆内存动态分配时间线,结束前需再次点击垃圾回收)。
·Summary总览视图:按构造函数分组。用于捕捉对象及其使用的内存。对于定位DOM内存泄露特别有用。
悬浮查看:
Constructor—构造函数,节点下的对象都是由改构造函数创建而来。
Distance—与根节点的距离。
Objects Count—对象个数及百分占比。
Shallow size—对象的直接内存总数,直接内存是指对象自身占用的内存大小。
Retained size—对象的最大保留内存,保留内存是指对象被删除后可以释放的那部分内存。
点击展开构造函数,可以看到所有构造函数相关的对象实例,@后面的数字是该对象实例的唯一标识符。
常见的顶层构造函数:
(global prop