浏览器的运行机制—2.浏览器都包含哪些进程?

知道了浏览器是多进程后,再来看看它到底包含哪些进程:(为了简化理解,仅列举主要进程)

1.浏览器都包含哪些进程

  1. Browser进程(即上篇文章截图里面的浏览器进程):浏览器的主进程(负责协调、主控),只有一个。主要作用:
  • 负责浏览器界面显示,与用户交互。如前进,后退等
  • 负责各个页面的管理,创建和销毁其他进程
  • 将渲染(Renderer)进程得到的内存中的Bitmap(位图),绘制到用户界面上
  • 网络资源的管理,下载等
  1. 第三方插件进程:每种类型的插件对应一个进程,仅当使用该插件时才创建
  2. GPU进程:最多一个,用于3D绘制等
  3. 浏览器渲染进程(即通常所说的浏览器内核)(Renderer进程,内部是多线程的):主要作用为页面渲染,脚本执行,事件处理等

注:调用百度百科,浏览器内核定义:浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引擎”,不过我们一般习惯将之称为“浏览器内核”。即往深处挖,浏览器内核也是一个线程。

2.浏览器多进程的优势

相比于单进程浏览器,多进程有如下优点:

  • 避免单个page crash影响整个浏览器
  • 避免第三方插件crash影响整个浏览器
  • 多进程充分利用多核优势
  • 方便使用沙盒模型隔离插件等进程,提高浏览器稳定性

简单点理解:如果浏览器是单进程,那么某个Tab页崩溃了,就影响了整个浏览器,体验有多差;同理如果插件崩溃了也会影响整个浏览器;而且多进程还有其它的诸多优势。当然,多进程,内存等资源消耗也会更大,有点空间换时间的意思。

知道了浏览器是多进程以及浏览器的主要进程分离。对于前端人员来说,页面的加载就是通过渲染来实现的,所以下面着重讲解浏览器进程中的渲染进程。

浏览器的运行机制—3.浏览器的渲染进程

推荐阅读更多精彩内容