浏览器包含哪些进程?

Posted crith

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器包含哪些进程?相关的知识,希望对你有一定的参考价值。

浏览器都包含哪些进程? 

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

  • Browser进程:浏览器的主进程(负责协调、主控),只有一个。作用有

    • 负责浏览器界面显示,与用户交互。如前进,后退等

    • 负责各个页面的管理,创建和销毁其他进程

    • 将Renderer进程得到的内存中的Bitmap,绘制到用户界面上

    • 网络资源的管理,下载等

  • 第三方插件进程:每种类型的插件对应一个进程,仅当使用该插件时才创建

  • GPU进程:最多一个,用于3D绘制等

  • 浏览器渲染进程(浏览器内核)(Renderer进程,内部是多线程的):默认每个Tab页面一个进程,互不影响。主要作用为

    • 页面渲染,脚本执行,事件处理等

 

强化记忆:在浏览器中打开一个网页相当于新起了一个进程(进程内有自己的多线程)

当然,浏览器有时会将多个进程合并(譬如打开多个空白标签页后,会发现多个空白标签页被合并成了一个进程);

 

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

  • 避免单个page crash影响整个浏览器

  • 避免第三方插件crash影响整个浏览器

  • 多进程充分利用多核优势

  • 方便使用沙盒模型隔离插件等进程,提高浏览器稳定性

简单点理解:如果浏览器是单进程,那么某个Tab页崩溃了,就影响了整个浏览器,体验有多差;同理如果是单进程,插件崩溃了也会影响整个浏览器;而且多进程还有其它的诸多优势。。。

当然,内存等资源消耗也会更大,有点空间换时间的意思。

重点是浏览器内核(渲染进程)

以上是关于浏览器包含哪些进程?的主要内容,如果未能解决你的问题,请参考以下文章

浏览器都有哪些进程?

前端技能树,面试复习第 37 天—— 浏览器原理:进程与线程 | 浏览器有哪些进程 | Service Worker

客户端容器 | 青训营笔记

确定当前文本选择包含哪些 DOM 元素

有哪些可以节省chrome内存的扩展插件?

浏览器渲染原理 1