Skip to content

页面卡顿

什么是页面卡顿(假死)

UI 阻塞

UI阻塞的原因分析

浏览器有GUI渲染线程和JS引擎,这两个线程是互斥的关系,JS引擎线程优先级高于GUI渲染线程。当JS引擎执行时GUI线程会被挂起,GUI更新会被保存在一个队列中,等到JS引擎空闲时,立即被执行。

如果JS代码执行时间太长,例如进行大量的计算,就会导致JS引擎长时间占用主线程,GUI的更新会被放入队列,等待JS引擎空闲后再执行

事件循环和浏览器渲染的先后顺序

事件循环和浏览器渲染的先后顺序

事件循环详细流程图