![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
浏览器
文章平均质量分 93
一条咸鱼l
这个作者很懒,什么都没留下…
展开
-
浏览器的事件轮询(消息轮询)
程序运⾏需要有它⾃⼰专属的内存空间,可以把这块内存空间简单的理解为进程。每个应⽤⾄少有⼀个进程,进程之间相互独⽴,即使要通信,也需要双⽅同意。有了进程后,就可以运⾏程序的代码了。运⾏代码的单位我们称之为「线程」。⼀个进程⾄少有⼀个线程,所以在进程开启后会⾃动创建⼀个线程来运⾏代码,该线程称之为主线程。如果程序需要同时执⾏多块代码,主线程可以启动更多的线程来执⾏代码,所以⼀个进程中可以包含多个线程。浏览器是⼀个多进程多线程的应⽤程序(可以在浏览器的任务管理器中查看当前的所有进程。原创 2023-03-15 19:07:57 · 348 阅读 · 0 评论 -
浏览器渲染原理
reflow 的本质就是重新计算 layout 树。当进行了会影响布局树的操作后,需要重新计算布局树,会引发 layout。为了避免连续的多次操作导致布局树反复计算,浏览器会合并这些操作,当 JS 代码全部完成后再进行统一计算。所以,改动属性造成的 reflow 是异步完成的。也同样因为如此,当 JS 获取布局属性时,就可能造成无法获取到最新的布局信息。浏览器在反复权衡下,最终决定获取属性立即 reflow。repaint 的本质就是重新根据分层信息计算了绘制指令。原创 2023-03-15 16:38:38 · 121 阅读 · 0 评论