浏览器

作者: 九瀺 | 来源:发表于2019-08-14 03:50 被阅读0次

浏览器包含以下进程(仅列举主要进程)

  1. Browser进程:浏览器的主进程(负责协调、主控),只有一个。
    作用:
    1.负责浏览器界面显示,与用户交互。如前进,后退等。
    2.负责各个页面的管理,创建和销毁其他进程
    3. 将Renderer进程得到的内存中的Bitmap,绘制 到用户界面上
    4.网络资源的管理,下载等

  2. **第三方插件进程:每种类型的插件对应一个进程,仅当使用该插件时才创建(如VUE在Chrome上的插件)

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

  4. 浏览器渲染进程(Renderer):默认每一个Tab页面一个进程,互不影响(空白页会合并进程)。作用:
    页面渲染,脚本执行,事件处理

浏览器多进程的优势

避免单个页面崩溃或者插件崩溃影响到其它页面;利用多核优势

渲染进程

  1. GUI渲染线程
    解析HTML,CSS,构建DOM树和RenderObject树,布局和绘制(GUI渲染线程和JS引擎线程为互斥关系,避免页面元素的不确定性)
  2. JS引擎线程
    处理JS脚本程序(解析,运行)
  3. 事件触发线程
    归属于浏览器,用来控制事件循环。当对应事件符合条件触发时,会将该事件添加到待处理队列的队尾,等待JS引擎的处理(JS引擎空闲时)
  4. 定时触发器线程
    处理setInterval和setTimeout
  5. 异步HTTP请求线程
    在XMLHttpRequest在连接后通过浏览器新开的一个线程
2084336019-5a65972413011_articlex.png

浏览器渲染流程

1.解析HTML简历DOM树
2.解析CSS简历render树(将CSS解析成树状的数据结构,再和DOM树结合成render树)
3.布局render树(layout|reflow),负责元素尺寸、位置的计算
4.绘制render树(paint),绘制页面
5.浏览器会将各层的信息发给GPU来进行页面显示


1373095523-5a658fc12f1fd_articlex.png

css加载不会阻塞DOM树解析,但会阻塞render树的渲染(render树需要css信息)

JS运行机制

1.JS分为同步任务和异步任务
2.同步任务都在主线程上运行,形成一个执行栈
3.主线程之外,事件触发线程管理一个任务队列。只要异步任务有了运行结果,就在任务队列中放置一个事件
4.一旦执行栈中的所有同步任务执行完毕,系统会读取任务队列,将可运行的异步任务添加到可执行栈中开始执行


3521345917-5a659722efdc2_articlex.png
EventLoop
1103131299-5a659722e7a98_articlex.png

学习于https://segmentfault.com/a/1190000012925872

相关文章

  • 移动浏览器的四大内核

    手机浏览器种类: UC浏览器,QQ浏览器,欧朋浏览器,百度手机浏览器,360安全浏览器,谷歌浏览器,搜狗手机浏览器...

  • Selenium快速入门(上)

    浏览器驱动下载 Edge浏览器 Firefox浏览器 Safari浏览器 Chrome浏览器 Phanto...

  • 移动WEB开发(常见布局)

    移动端基础 1.1浏览器现状PC端常见浏览器360浏览器、谷歌浏览器、火狐浏览器、QQ浏览器、百度浏览器、搜狗浏览...

  • web自适应开发

    1.浏览器内容 第三方浏览器有:sogo浏览器、360浏览器、qq浏览器、UC浏览器内核:360浏览器:Webki...

  • 移动 web 开发 —— 流式布局

    1.0 移动端基础 1.1 浏览器现状 PC 端常见浏览器:360 浏览器、谷歌浏览器、火狐浏览器、QQ 浏览器、...

  • 导航

    Chrome 360浏览器 百度浏览器 QQ浏览器 搜狗浏览器

  • 移动web三 - 流式布局

    1.0 移动端基础 1.1浏览器现状 PC端常见浏览器:360浏览器、谷歌浏览器、火狐浏览器、QQ浏览器、百度浏览...

  • 移动端流式布局

    1.0 移动端基础 1.1浏览器现状 PC端常见浏览器:360浏览器、谷歌浏览器、火狐浏览器、QQ浏览器、百度浏览...

  • 你所不知道的浏览器内核!

    说起主流浏览器,大家可能会想到IE浏览器、360安全浏览器、搜狗浏览器、QQ浏览器、百度浏览器、以及Firefox...

  • 【前端】01 - 移动web开发-流式布局

    1. 移动端基础 1.1 浏览器现状 PC端常见浏览器:360浏览器、谷歌浏览器、火狐浏览器、QQ浏览器、百度浏览...

网友评论

      本文标题:浏览器

      本文链接:https://www.haomeiwen.com/subject/vshwjctx.html