参考:
目录:
一 Chrome任务管理器
二 Chrome 时间轴Performance
三 Chrome Memory
一 Chrome任务管理器
这个貌似只能看一下js或者图片占用的内存大小。对于检查内存泄露,哪一块泄露来说,帮助不大。
使用Chrome任务管理器,了解网页使用的内存量。
右上角菜单,选择工具,选择任务管理器。
对于默认不显示的选项。可以右键选择。比如查看Javascript使用的内存。
javascirpt使用的内存
二 chrome 时间轴Performance
Performance(时间轴)面板直观实时显示JS内存使用情况、节点数量、监听器数量等
开始录制前先点击垃圾回收-->点击开始录制-->点击垃圾回收-->点击结束录制
三 Chrome Memory
这个功能查找内存泄露比较重要
Summary 总览视图:按构造函数分组。用于捕捉对象及其使用的内存。对于定位DOM内存泄露特别有用
Comparison 对比视图:对比两个快照。用于对比不同操作之后的堆快照,查看内存的释放及引用计数,来分析内存是否泄露及其原因
Statistics 统计视图:总览堆的统计信息
其中Comparison对比视图,这个用于检查内存泄露比较有用。
1. 点击开始录制(拍照),拍下内存快照
2. 在可疑的内存泄露场景来回切换,比如你觉得退出游戏时,游戏场景有泄露,则多次进入和退出游戏,再次拍照
3. 然后对比两张快照,发现内存泄露的来源
Constructor:构造函数,节点下的对象都是由改构造函数创建而来。
Distance:与根节点的距离。
Objects Count:对象个数及百分占比。
Shallow size:对象的直接内存总数,直接内存是指对象自身占用的内存大小。
Retained size:对象的最大保留内存,保留内存是指对象被删除后可以释放的那部分内存。
点击展开构造函数,可以看到所有构造函数相关的对象实例,@后面的数字是该对象实例的唯一标识符。