JavaScript GC调试

JS中GC是自动完成的,但这并不意味着我们可以完全不关注GC了。当GC事件发生时,JS主线程会被暂停直到GC完成。如果随意声明变量,那么频繁的GC事件可能会让整个页面出现“抖动”。

可以通过chrome devtool的Timeline来观察GC:

设置

  1. View选择Flame chart view
  2. Capture只勾选Memory

捕捉

设置完成后,点击最左边的Record按钮,然后就可以访问网页了。

查看

当网页加载完成后,点击Stop,等待分析结果。然后在chart view上寻找内存急速下降的部分:

GC

可以点击这部分图示以得到详细的信息,这里我们主要关注GC,所以找到GC事件,点击查看详情:

GC event

可以看到,该GC事件耗时3.93ms。

推荐阅读更多精彩内容