JS中GC是自动完成的,但这并不意味着我们可以完全不关注GC了。当GC事件发生时,JS主线程会被暂停直到GC完成。如果随意声明变量,那么频繁的GC事件可能会让整个页面出现“抖动”。
可以通过chrome devtool的Timeline来观察GC:
设置
- View选择Flame chart view
- Capture只勾选Memory
捕捉
设置完成后,点击最左边的Record按钮,然后就可以访问网页了。
查看
当网页加载完成后,点击Stop,等待分析结果。然后在chart view上寻找内存急速下降的部分:
可以点击这部分图示以得到详细的信息,这里我们主要关注GC,所以找到GC事件,点击查看详情:
可以看到,该GC事件耗时3.93ms。