下图是chromium的架构图,由于chromium项目极其庞大,我们没法一一列举所有的模块,所以这里只是列出主要的模块图。Blink(WebKit)作为chromium的内核引擎,位于整个架构图的最底层,在WebKit架构一节会做详细的介绍,除此之外,还有很多chromium项目独有的模块,包括多进程模型、沙箱模型、CC(Chromium Compositor)、GPU/CommandBuffer(硬件加速架构)、IPC多进程通信等等。

Content模块是Chromium项目最主要的部分,Content对底下的模块进行了封装,向上提供了一套支持多进程架构的Content API接口,用于网页的渲染。当然,多进程架构是在Windows或Linux平台上的Chromium浏览器才有用,在Android平台上,Webview只支持单进程方式(Android O已经支持多进程了)。

AwContents是基于ContentAPI开发的模块,是Chromium为了对接到AndroidWebview而封装的一个新类,但是AwContents模块提供的还不是WebView接口,所以还需要一层桥接部分,将AwContents桥接到Android WebView。

Android WebView则是Android framework层提供给apk调用的一套标准接口,可以用来构建一个运行于Android平台的浏览器。

Chromium架构相关推荐

  1. 【Android】Chromium架构简介

    一.Chromium架构介绍 1.架构概览 Chromium采用是多进程架构,为什么采用多层架构呢? 因为构建一个从不会挂起或崩溃的渲染引擎几乎是不可能的.构建一个完全安全的渲染引擎也是几乎不可能的. ...

  2. Chromium基础架构

    Chromium 简介 Android webview是单进程模式的Chromium,学习WebView自然绕不开Chromium. 什么是Chromium? Chromium是由Google主导开发 ...

  3. 深入理解浏览器原理和架构|硬核

    本文用47张图带你了解「浏览器的发展史」.「浏览器的架构」.「浏览器的基本原理」以及 「浏览器的其它小知识」 ???? 正文开始 浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示HTML文档. ...

  4. 从架构出发探究Electron运行原理

    早期桌面应用的开发主要借助原生 C/C++ API 进行,由于需要反复经历编译过程,且无法分离界面 UI 与业务代码,开发调试极为不便.后期出现的 QT 和 WPF 在一定程度上解决了界面代码分离和跨 ...

  5. bing浏览器_微软推出全新 Edge 浏览器,这 3 大特色亮点 Chrome 都没有

    微软基于 Chromium 架构打造的全新一代 Edge浏览器正式版,今(1/16)于官网正式上线,适用系统平台,包括:Windows 10.Windows 7.Windows 8.1 与 macOS ...

  6. 世界第三大浏览器正在消亡

    来源 :CSDN(ID:CSDNnews) 目前,世界上最受用户欢迎的三大浏览器分别是Chrome.Safari和Firefox.Chrome在全球市场上几乎占据垄断地位,而第三大浏览器Firefox ...

  7. 后端技术趋势指南|如何选择自己的技术方向

    编程多条路,条条通罗马 后台大佬 后台路线都是面对后台服务器业务,比如web后台服务器,视频后台服务器,搜索后台服务器,游戏后台服务器,直播后台服务器,社交IM后台服务器等等,大部分代码和业务逻辑相关 ...

  8. 促使整个团队改善的首要驱动力一定来自技术领域

     对于中国的技术团队来说,我坚信促使整个团队改善的首要驱动力一定来自技术领域,只有采用以技术领域为切入点逐步渗透到管理领域的方式,才更有可能让团队发生质的变化. 入职半年后的2013年6月份左 ...

  9. 高性能Web动画和渲染原理系列(4)“Compositor-Pipeline演讲PPT”学习摘要【华为云技术分享】

    [摘要] 学习chromium对合成层的处理 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文目录 附 ...

最新文章

  1. 第三章 系统指令与汇编程序设计 3.1 单片机指令系统
  2. xml解析:Sax,Dom,pull解析
  3. php json解析教程,php解析json
  4. js逻辑训练题_二建冲刺必刷300题!精选历年真题+母子题+模考易错题!
  5. jsp内置对象------session
  6. 计算机为什么启动二次才能打开,为什么电脑要2次重启才能启动显示器那
  7. Mac上Homebrew的使用 (Homebrew 使 OS X 更完整)
  8. linux go missing git command,安装beego出现go: missing Git command
  9. python学习turtle(龟图标状态)
  10. 2017.9.5.1.语文
  11. asp.net mvc View视图目录修改
  12. exchange2013 OWA界面使用公有计算机或私有计算机选项
  13. 动态包含与静态包含的区别
  14. 解决Intellij IDEA中找不到汉化包问题
  15. POI设置导出的EXCEL锁定指定的单元格
  16. 智能家居竞品分析:米家/HomeKit/美居/涂鸦智能的体验与思考
  17. ym——Android从零开始(3)(常用控件+下拉框视图)(新)
  18. zabbix通过yum安装,启动报错zabbix-agent.service never wrote its PID file. Failing.
  19. Linux指令整理(从入门到高级)+Shell语法
  20. npm install 报错:found XXX vulnerabilities (XXX low, X moderate),run `npm audit fix` to fix them, or `

热门文章

  1. ROS学习| navigation基本导航
  2. 2db多少功率_搞懂“dB”这个单位,到底有多难?
  3. LINUX学习之路(学LINUX必看)
  4. Nginx 使用letsencrypt在Docker上配置Https
  5. 33的挑战状(bilibili首届安全挑战赛)
  6. java英里转换成千米_英里和公里怎么换算
  7. mysql vacuum_PostgreSQL中快速对系统表实现vacuum full
  8. mysql易百_MySQL curtime()函数
  9. RFID Kill密码是什么
  10. 注册电子邮箱有哪些品牌?163VIP邮箱有什么好处?