浏览器进程,渲染进程有哪些线程
在浏览器中打开两个页面,会开启几个进程?
1个浏览器进程、1个网络进程、一个GPU进程,通常一个Tab页对应一个渲染进程,但有其它情况:
1: 如果页面中有iframe的话,iframe也会运行在单独的进程中
2:如果页面有插件,插件也需要开启一个单独的进程
3:如果浏览器中装了扩展,一个扩展对应一个进程
4:如果两个页面属于同一站点,并且从a页面中打开b页面,那么他们会公用一个渲染进程
同一站点(same-site): 根域名+协议,比如baidu.com加上协议https, 包含了该根域名下的所有子域名和不同端口
Chrome的默认策略是,每个标签对应一个渲染进程,但如果从一个页面打开了新页面,新页面与原页面属于同一站点,那么新页面会复用父页面的渲染进程,官方把这个默认策略叫 process-per-site-instance. 在这种情况下,一个页面崩溃,会导致同一站点的页面同时崩溃,因为他们使用了同一个渲染进程。
参考:https://segmentfault.com/a/1190000012925872