购物车
登陆 / 注册
微信扫码登陆

推荐手册

使用分配分析器

使用分配分析器
使用分配分析器工具来查找未被正确地垃圾收回收,并继续保留在内存中的对象。
前端控前端控更新时间:2019-01-07 15:44:23

如何使用分配分析器工具

使用分配分析器工具来查找未被正确地垃圾收回收,并继续保留在内存中的对象。

分配分析器如何工作

allocation profiler(分配分析器)结合了堆分析器中快照的详细信息以及Timeline(时间轴)面板的增量更新以及追踪信息。与这些工具相似,追踪对象堆的分配过程包括开始记录,执行一系列操作,以及停止记录并分析。

分配分析器在记录中周期性生成快照(频率为每50毫秒),并且在记录最后停止时也会生成一份快照。

启用分配分析器

要开始使用分配分析器:

  • 确认你安装了最新的 Chrome Canary
  • 打开 DevTools 的 Profiles(配置)面板。
  • 现在,在Profiles(配置)面板中,你可以看见一项名为 Record Allocations Timeline(录制分配时间轴) 的配置。

读取一个堆分配分析

堆分配分析器(heap allocation profile)显示正在创建对象的位置,并标识保留路径。 在下面的快照中,顶栏的条形图表示对象什么时候在堆中被找到。

每个条形的高度对应最近分配的对象的大小,而其颜色颜色表示这些对象是否仍然存在于最终堆快照中。蓝色表示在时间轴的最后该对象依旧存在,灰色则说明对象在时间轴内被分配,但是已经被垃圾回收器回收了:

在下面的例子中,一个操作被执行了10次。这个简单的程序加载了五个对象,所以显示了五个蓝色的条形图案。但是最左边的条形图表明了一个潜在的问题。

接下来你可以使用时间轴中的滑动条来放大这一特定的快照,然后查看最近被分配到这一点上的对象。

4.png

点击堆中的某个特定对象会在堆快照的顶部显示其保留树。检查对象的保留路径会让你明白为什么对象没有被回收,并且你可以在代码中做出更改移除不必要引用。

按函数查看内存分配

您还可以通过JavaScript函数查看内存分配。 有关详细信息,请参阅按函数调查内存分配

网站导航
标签地图
学习路径
视频教程
开发软件
旗下子站
php中文网
phpstudy
技术文章
文档工具
关于我们
企业合作
人才招聘
联系我们
讲师招募
QQ交流群
QQ官方交流群
微信公众号
微信公众号