docker容器 | 青训营笔记

49 阅读2分钟

浏览器架构

单进程架构、多进程架构、面向服务架构

多进程架构

包含主进程、GPU进程、渲染进程、插件进程、网络进程等...

其中渲染进程是需要重点掌握的,负责html、css等页面的渲染。

常见浏览器

FireFox内核Gecko跨平台,JS引擎为SpiderMonkey。

Chrome浏览器的内核是Blink,JS引擎为V8,目前公认最好的JS引擎。

渲染进程

渲染进程又可以分为几个线程,其中比较重要的是js引擎线程和GUI渲染线程。

js引擎和渲染引擎的工作流程

image.png

1、解析执行JS

2、XML解析生成渲染树,显示在屏幕上

3、桥接方式通信

渲染进程-多线程工作

image.png

一道面试题

image.png

由于js事件轮询和同步机制,控制台输出为20、20、30

chrome运行原理

image.png

简单来说就是浏览器主进程先处理输入,读取资源以后,若是需要渲染进程,便寻找渲染进程。 在渲染进程中加载子资源,生成DOM树、SCSS树、构建渲染树,布局完以后便是绘制、光栅化并放入显存中,发送IPC给主进程。

运行速度优化

从耗时来看,scripting的耗时是最长的,所以js代码分包充分利用浏览器并行的功能可以降低耗时。

image.png

渲染优化:

1、GPU加速

2、减少回流、重绘

3、离屏渲染

4、懒加载

将子资源提前加载到本地,在滚动等需要时再直接取出来

JS优化

1、防止内存泄露 2、合理使用闭包 ...

跨端容器

常用webview、Android、IOS、国产Android

WebView优势:一次开发,处处使用,学习成本低

课程总结

image.png