Android KitKat一项重要的更新就是WebView采用Chromium/Blink渲染引擎,本文简要的叙述了新版WebView的主要特性、需要进一步改进的地方以及WebView的代码结构等。
前世今生
WebView是Android平台上一个非常重要的系统组件,用于将一个显示Web页面的窗口部件view嵌入到应用程序,并提供了一组API接口允许开发者定制页面加载和绘制的行为,比如响应页面加载状态的变化和弹出JavaScript对话框的请求等等。自Android 1.0发布以来,WebView被广泛地使用在应用程序中,最典型的当属Stock浏览器了,它就是基于WebView开发的一个浏览器程序。关于详尽的文档描述,请参看WebView的官方文档。
早期的WebView (在Android 4.4以前)是基于WebKit实现的,可以简单理解为直接在WebKit代码库中增加一个分支,解决Android平台特定的页面渲染方式以及通过JNI接口将WebKit的功能桥接为Java层的API接口。在图形方面,WebView和Android平台一样,采用的是Skia图形库,但没有启用硬件加速,渲染性能非常不好,这也是许多使用者经常抱怨的诟病之一。
随着Android 4.4 (KitKat) 平台的发布,基于Chromium开源项目的WebView成为KitKat平台的一大亮点。新版WebView采用了与Chrome浏览器相同的Blink渲染引擎,v8 JavaScript引擎,网络库以及内存分配器,在HTML5特性支持方面不仅与Chrome保持了更高的一致性,而且还弥补了旧版WebView在渲染性能方面的不足。Android平台上所有使用WebView的应用程序都将无缝透明地受益于新版WebView的特性支持和性能提升。
目前,Android KitKat上的WebView是基于Chrom