宏观视角下的浏览器

打开浏览器发生了什么?

启动浏览器就会启动 5 个进程,分别是GPU、网络、储存、音频、备用渲染进程,

这些进程是每个页面都需要的基础服务,

而每打开一个的页签都是启动了一个新的渲染进程,

通过排版引擎(HTML & CSS)和 V8 引擎(JS)转换为可以交互的网页。

注:Google Chrome:95.0.4638.69 (正式版本) (arm64)

进程和线程是什么?

为什么有时一个页面蹦其他页面也会蹦?

当在一个页面打开的新页面符合同一站点,那么他们将被分配到一个渲染进程里面,

这样会导致当某一页面崩溃是,共享渲染进程内的全部页面都会崩溃。

为什么要放在一个渲染进程中呢?

因为在一个渲染进程里面,他们就会共享JS的执行环境,也就是说A页面可以直接在B页面中执行脚本。“