Android webkit 时代结束,我们需要做些什么准备?

  次阅读 来源:互联网(转载协议) 2015-10-02 21:27 我要评论(0)

Android 4.4最新发布版本对浏览器来说是一个革命性变化,external下面的webkit源码已经被移除,前一阵子吵得沸沸扬扬的chromium作为android默认浏览器的猜测已经尘埃落定,这对于已经习惯于android webkit开发的人来说,需要去学习android chromium。根据本人观察这次大的变化需要以下几点。

(1).WebView接口没有任何变化,基于此的应用可以继续放心使用

(2).android chromium 在功能和性能较之google自己研发的Chrome浏览器(Android版)差距还是挺大。

(3).有些在androidwebkit 实现的功能在androidchromium 基本需要重来一遍,对于已经习惯android webkit开发的人员,需要快速去了解新的内核原理和实现方式。(焦点实现逻辑,绘制方式等等)

针对这3点重点做下介绍,实际在androidchromium出世之前,google已经在调整WebView的内部实现了,已经加上了WebViewProvider(WebView继承WebViewProvider),已经为换核做好准备了.为了保持WebView上层接口的一致性,google对于android chromium还是动了很大手术。我们知道chromium本身的框架是基于多进程模型,渲染进程采用沙箱模型。大家可能看到在external目录下存在一个chromium文件,但是这个不是真正的chromium源码,这只是chromium其中的一个网络模块。这个模块google做得已经很独立,这个模块也是体现chromium速度快的新特性,目前已经好多使用开源软件的公司直接拿这个网络模块单独去使用。chromium_org是真正存放chromium源码的文件夹。目前android4.4采用chromium30版本,目前最新的chromium33

Release版本已经发布。

针对android chromium和Chrome浏览器(Android)在设计框架上还是存在较大差异。

(1).android chromium 采用单进程模型,能够省内存,当时在稳定性上就要略差一些,同时没有了沙盒模型安全系数会略低一些。

Chrome浏览器(Android) 采用多进程模型,在稳定性安全性都有一定优势,但是占用内存又会多一些。

(2).渲染方式 android chromium 要依赖于android UI架构,也就是我们常说的OnDraw模型,说到OnDraw,google采用硬件和软件2种方式。软件方式和androidwebkit使用方式接近,就是把所有的数据放到skpicture上面,然后在OnDraw的时候绘制,通知到surfaceflinger 完成最终混合操作。硬件方式:依赖于android本身UI系统,目前只能在android4.4平台上运行。具体如何运作,在后续的文章中会进行详尽介绍。

Chrome浏览器(Android) 只有硬件加速一种,但是这种硬件加速的模式和上面的有所不同,采用SurfaceView方式,道理很简单就是申请一块单独的内存,专门给GPU线程来使用(android版本的GPU存在Browser进程中以线程方式存在),这样做的目的,可以同主UI线程分离,使得页面动作处理更加顺滑。

(3) android chromium 在功能上目前不支持WebGL,WebRTC,WebAudio等,Chrome浏览器(Android版)支持绝大多数HTML5功能。

Android webkit 我们知道如果要对焦点定制,我们直接修改webkit封装层就可以,但是如果要修改android chromium中的焦点或者js扩展一些功能,就显得不是那么直接,其中有以下几点原因:

(1)多进程的框架带来了,全局数据的共享以及控制都显得不方便。拿简单的settings的数据控制,都带来不方便性

(2)android chromium 内核改名为blink,虽然在基本的功能上和webkit有非常相近之处,但是在具体的逻辑上,改动已经非常大,特别是在Loader过程,而且以后会越走越远。也就是说在以后的开发过程中,只是掌握webkit的框架是远远不够的,需要跟上blink的节奏。

(3)从绘制方式来看,android chromium的混合主要采用CC(chromium compositer) 模块,这和webkit直线式绘制模式有很大区别。

以上是研究了android chromium代码得出的一些结论,如有不当之处欢迎指正。

参考资料:

https://android.googlesource.com/platform/external/chromium_org/

lihui40319@sina.com

QQ:390012381

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...