#说明
此笔记为截取上方
ChromeDevTools使用详解笔记的 [ Chrome内存泄漏分析工具 ] 部分笔记的部分知识点至此,方便阅读更多笔记看上方 ChromeDevTools 使用详解笔记
除此笔记外大家可以看我其他笔记 :全栈笔记、数据结构与算法、编程_前端开发学习笔记、编程_后台服务端学习笔记 、Java 、Nodejs 、JavaScript笔记、编程工具使用笔记 、ES6及后续版本学习笔记 、Vue笔记整合 、React笔记、微信小程序学习笔记、Chrome开发使用及学习笔记 以及许多其他笔记就不一一例举了
更多Chrome开发笔记: Chrome开发使用及学习笔记
二、Chrome内存泄漏分析工具
内存分析使用的工具包括chrome任务管理器、chrome时间轴(低版本是Timeline,高版本对应performance)、chrome memory(低版本是chrome profiles,主要用JS堆快照、JS堆动态分配时间轴)。
1、chrome任务管理器
按Shift + Esc打开任务管理器。或点击右上角菜单—更多工具—-任务管理器。
主要关注
内存占用空间、Javascript使用的内存。Javascript使用的内存默认不显示,可以点击右键添加这两列是在用不同角度来告诉你,网页的内存使用情况︰
- 内存占用空间表示本机内存。DOM节点存储在本机内存中。如果这个值在增加,则说明正在创建DOM节点。
- JavaScript 使用的内存列 表示JS堆。这一列包含两个值。关注实际使用大小即可(括号中的数字)。跳动的数字表示您网页上的可获得的对象正在使用多少内存。如果这个数字在增加,那说明正在创建新对象,或现有对象正在增长。
- 如何判断?
- 如果内存占用空间一直在增长但JS内存不增长 可能是浏览器还没有回收,不操作闲置一段时间看下是否会下降。遇到几种情况内存一直不释放(控制台关闭状态下放置三个小时左右),不确定是回收慢,还是浏览器本身存在内存泄露(测试了45、68、69版本)—(测试结果来自杭电茶娃的chrome内存泄露相关博客):
含密码框(三个版本都有问题)
含输入框,且用户手动输入过值(三个版本都有问题)
含按钮,且用户手动点击过(只有68有问题)
- 如果是内存占用空间在增长,但JS内存增长得很缓慢 有可能是有JS变量引用了DOM,这个DOM节点本身不大,但影响了其他DOM节点(比如父级节点树)。
2、其他
其他三个方法在上方
Performance面板、Memory面板均有指出,不再赘述


