β

Android webkit,webview和chrome的关系

F2ES.COMF2ES.COM 4564 阅读

Android webkit

Webkit是一个开源的浏览器排版和渲染引擎,包含WebCore和JavascriptCore。WebKit有众多的实现(Qt、Gtk, windows, chromium, android, etc)。

Android 4.0平台的Web引擎框架采用了WebKit中的WebCore,javascript引擎则是采用google的V8引擎。Android 4.0的webkit采用了和chromium 12.0.742.130中webkit相同的codebase,webkit版本为534.30。

由于Android系统本身是用Java编写的,那么,webkit与系统相关部分只能用Java编写,同时也可以提供一些Java API提供给应用开发者调用,而由于webkit底层的排版部分与系统关系不是很大,则使用C/C++编写。那么,Android webkit的结构就很清晰了,分为:Java层和C层。两者的通信通过Java Native Interface实现。

qPZ0D Android webkit,webview和chrome的关系

WebView

WebView是处于Java层的视图模块,通常在Android Native App中插入的html页面也是构建与WebView之上,包括了页面的浏览,请求的处理。这也就是为什么WebView的出镜率比Android Webkit本身还要高。很多Native App在开发的时候,部分更新率高的模块,都会选择使用WebView来渲染html页面,从而可以方便内容更新。

在C层中也有一个WebView模块,C层中的WebView模块负责初始化并构造WebView对象,然后将其赋值给Java层的WebView。之后两者就可以进行通信了。

Chrome

关于Android chrome,更多就是一些小道消息了。

未来Android浏览器和chrome for Android之间必然会统一。

参考资料

作者:F2ES.COMF2ES.COM
保持学习的心态
原文地址:Android webkit,webview和chrome的关系, 感谢原作者分享。