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!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

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

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...