浏览器怎么排查性能问题

52 阅读2分钟

浏览器性能优化

首先我们对页面做性能优化得知道从哪方面入手,知道是哪里的原因导致的我们才好优化,那么我们怎么知道是哪里除了问题呢,我们需要学会用浏览器的工具,浏览器给我们提供了很多的工具可以让我们知道是哪里的问题,一般是看performance

image.png 可以通过控制台实时的监控 cpu,内存,节点数,事件监听的数量。 那么这个是怎么显示的呢?

image.png 通过点击这个 No issue(有时候有issue的时候就不是这个单词 但是也是这个位置)

image.png 点击出来是这样,还是没有那个 performance ,我知道你急但是你先别急

image.png 我们可以点击旁边三个点,里面就有我们要的 performance monitor 点击performance monitor 就能出来了 然后把cpu ,内存,节点数勾上,就可以分析页面的数据 但是 这个并不精准,因为浏览器的内存回收比较慢 并不是实时的,具体的我们还得看更加精准的

Performance

image.png 看看这个大栏的Performance 这里有3个很重要的东西 左边三个按钮,第一个是监听,第二个是刷新,第三个是停止,点击第一个然后在页面操作,操作完点击stop 可以得出火焰图,看到那部分加载的时间长,那些函数耗时多。

image.png

image.png 这部分可以看到内存,节点数,文档,事件监听数量,GPU内存,如果内存居高不下说明内存有泄漏有闭包没有释放,有dom 节点还被收集,如果是节点增加说明 节点没有被销毁,vue3的静态标记就会有游离的节点没有被销毁,vue3更新3.5版本就是为了解决这个问题,饿了么的弹窗抽屉也会有节点没有销毁的问题。这里是个分析的手段。 右上角有个清除的按钮 ,清除之后可以看到内存有下降说明,那部分会被回收,浏览器的回收机制没有那么快,那部分的暂时没有办法优化,浏览器的本质如此。

Memory

image.png 内存这个大栏,可以监听内存的机制 跟Performance类似,操作之后会产生镜像

image.png 这里产生2个镜像,可以通过对比2个镜像看到那些没有销毁,可以知道是哪些地方内存泄漏了,只是个大概的方向。当然页面很多显示的部分内存是被占用的