关于android内核的一些基础知识,更详细请见附件
一、WebKit简介
WebKit是一个开源的浏览器网页排版引擎,包含WebCore排版引擎和JSCore引擎。WebCore和JSCore引擎来自于KDE项目的KHTML和KJS开源项目。Android平台的Web引擎框架采用了WebKit项目中的WebCore和JSCore部分,上层由Java语言封装,并且作为API提供给Android应用开发者,而底层使用WebKit核心库(WebCore和JSCore)进行网页排版。
二、WebKit目录结构
Android平台的WebKit模块分成Java和WebKit库两个部分,其目录结构如下表所示:
WebKit模块目录结构 |
|
Java层(根目录device\java\android\android\webkit) |
|
BrowserFrame.java |
BrowserFrame对象是对WebCore库中的Frame对象的Java层封装,用于创建WebCore中定义的Frame,以及为该Frame对象提供Java层回调方法。 |
ByteArrayBuilder.java |
ByteArrayBuilder辅助对象,用于byte块链表的处理。 |
CachLoader.java |
URL Cache载入器对象,该对象实现StreadLoader抽象基类,用于通过CacheResult对象载入内容数据。 |
CacheManager.java |
Cache管理对象,负责Java层Cache对象管理 |
CacheSyncManager.java |
Cache同步管理对象,负责同步RAM和FLASH之间的浏览器Cache数据。实际的物理数据操作在WebSyncManager对象中完成。 |
CallbackProxy.java |
该对象是用于处理WebCore与UI线程消息的代理类。当有Web事件产生时WebCore线程会调用该回调代理类,代理类会通过消息的方式通知UI线程,并且调用设置的客户对象的回调函数。 |
CellList.java |
CellList定义图片集合中的Cell,管理Cell图片的绘制、状态改变以及索引。 |
CookieManager.java |
根据RFC2109规范,管理cookies |
CookieSyncManager.java |
Cookies同步管理对象,该对象负责同步RAM和Flash之间的Cookies数据。实际的物理数据操作在基类WebSyncManager中完成。 |
DataLoader.java |
数据载入器对象,用于载入网页数据。 |
DateSorter.java |
尚未使用 |
DownloadListener.java |
下载侦听器接口 |
DownloadManagerCore.java |
下载管理器对象,管理下载列表。该对象运行在WebKit的线程中,通过CallbackProxy对象与UI线程交互。 |
FileLoader.java |
文件载入器,将文件数据载入到Frame中。 |
FrameLoader.java |
Frame载入器,用于载入网页Frame数据 |
HttpAuthHandler.java |
Http认证处理对象,该对象会作为参数传递给BrowserCallback.displayHttpAuthDialog方法,与用户交互。 |
HttpDataTime.java |
该对象是处理HTTP日期的辅助对象。 |
JsConfirmResult.java |
Js确认请求对象 |
JsPromptResult.java |
Js结果提示对象,用于向用户提示Javascript运行结果。 |
JsResult.java |
Js结果对象,用于用户交互 |
JWebCoreJavaBridge.java |
用Java与WebCore库中Timer和Cookies对象交互的桥接代码。 |
LoadListener.java |
载入器侦听器,用于处理载入器侦听消息。 |
Network.java |
该对象封装网络连接逻辑,为调用者提供更为高级的网络连接接口。 |
PanZoom.java |
用于处理图片缩放、移动等操作 |
PanZoomCellList.java |
用于保存移动、缩放图片的Cell |
PerfChecker.java |
用于效率测试的功能对象??? |
SslErrorHandler.java |
用于处理SSL错误消息。 |
StreamLoader.java |
StreamLoader抽象类是所有内容载入器对象的基类。该类是通过消息方式控制的状态机,用于将数据载入到Frame中。 |
TextDialog.java |
用于处理html中文本区域叠加情况,可以使用标准的文本编辑而定义的特殊EditText控件。 |
URLUtil.java |
URL处理功能函数,用于编码、解码URL字符串,以及提供附加的URL类型分析功能。 |
WebBackForwardList.java |
该对象包含WebView对象中显示的历史数据。 |
WebBackForwardListClient.java |
浏览历史处理的客户接口类,所有需要接收浏览历史改变的类都需要实现该接口。 |
WebChromeClient.java |
Chrome客户基类,Chrome客户对象在浏览器文档标题、进度条、图标改变时候会得到通知。 |
WebHistoryItem.java |
该对象用于保存一条网页历史数据 |
WebIconDataBase.java |
图表数据库管理对象,所有的WebView均请求相同的图标数据库对象。 |
WebSettings.java |
WebView的管理设置数据,该对象数据是通过JNI接口从底层获取。 |
WebSyncManager.java |
数据同步对象,用于RAM数据和FLASH数据的同步操作。 |
WebView.java |
Web视图对象,用于基本的网页数据载入、显示等UI操作。 |
WebViewClient.java |
Web视图客户对象,在Web视图中有事件产生时,该对象可以获得通知。 |
WebViewCore.java |
该对象对WebCore库进行了封装,将UI线程中的数据请求发送给WebCore处理,并且通过CallbackProxy的方式,通过消息通知UI线程数据处理的结果。 |
WebViewDatabase.java |
该对象使用SQLiteDatabase为WebCore模块提供数据存取操作。 |
相关推荐
Android WebView 与 WebKit 内核深入讲解 Android WebView 是 Android 平台上的一种基于 WebKit 内核的浏览器控件,可以用来在移动应用程序中显示网页内容。WebKit 是一个开源的浏览器网页排版引擎,包含 WebCore ...
**WebKit内核源代码分析** WebKit 是一个开源的网页渲染引擎,被广泛应用于各种操作系统和浏览器,如苹果的Safari和谷歌的Chrome。在Android平台上,WebKit被用作原生浏览器和其他应用的网页显示组件。深入理解...
### WebKit内核源代码分析(三):Android中的WebKit介绍 #### 一、WebKit概述与URL处理 本文档深入探讨了WebKit在Android环境下的实现原理,并特别关注了WebKit如何处理URL请求及其相关的CSS样式应用等内容。...
- **跨平台:** WebKit可在多种操作系统上运行,包括Windows、macOS、Linux、iOS和Android,提供一致的用户体验。 - **源码开放:** 开源特性使得开发者可以自由地定制和扩展浏览器功能,满足特定需求。 2. **与...
《Android WebView与WebKit内核深度解析》 在Android开发中,WebView是一个至关重要的组件,它允许应用程序嵌入网页浏览功能,极大地丰富了应用的内容展示。本文将深入探讨WebView背后的WebKit内核及其工作原理。 ...
【Webkit内核探究】Webkit是开源的Web浏览器引擎,它的应用广泛,包括Apple的Safari、Google的Chrome、Nokia S60平台的默认浏览器以及Apple和Android手机的默认浏览器。作为三大主流浏览器内核之一,Webkit与Gecko...
**WebKit内核源代码分析** WebKit 是一个开源的网页渲染引擎,被广泛应用于苹果的Safari浏览器、谷歌的Chrome浏览器以及其他许多桌面和移动平台。它负责解析HTML、CSS、JavaScript等网页内容,并将它们转化为用户...
### Webkit内核源代码分析(四):Android中的WebKit详解 #### 一、引言 在本篇文章中,我们将深入探讨Android系统中使用的WebKit浏览器引擎,并对其内部工作原理进行详细解析。WebKit作为一款开放源代码项目,在...
描述:本文深入探讨了Android Webkit的原理性应用,解析了Webkit内核在Android系统中的作用、组成及其与应用程序的交互方式。 知识点: ### Webkit概述 Webkit是一个开源的浏览器引擎,是浏览器的核心组件,负责...
### WebKit内核源代码分析:深入理解Android中的WebKit #### 概述 在现代移动设备上,浏览器作为用户访问互联网的主要入口,其性能和稳定性至关重要。WebKit是苹果公司在Safari浏览器中使用的开源渲染引擎,它不仅...
在Android 4.0.1版本中,WebKit是系统内核的重要组成部分,它是一个开源的网页渲染引擎,负责解析HTML、CSS、JavaScript等Web标准语言,并将这些内容转化为用户友好的图形界面。WebKit的重要性在于,它是Android...
X5内核是腾讯为优化移动浏览器和Webview性能而开发的一款高性能、轻量级的浏览核心,它基于开源的WebKit并进行了大量定制优化。这个Demo包含了多个关键功能的实现,如HTML5视频全屏播放、文件选择、JavaScript交互...
总之,WebKit.NET-0.5-Chrome的内核WebKit的NET版.zip是一个让.NET开发者能够利用WebKit内核的工具,它提供了丰富的功能和API,可以用来构建具有现代Web浏览能力的应用程序或组件。虽然这个版本可能较旧,但它仍然是...
X5内核是腾讯公司推出的一款高性能、安全、稳定的浏览器内核,基于WebKit和Blink,并进行了一系列优化,尤其在CSS和DIV的浏览器适配上表现出色,能够确保网页在不同设备和浏览器上呈现一致性。对于Android开发者而言...
X5内核是由腾讯QQ浏览器团队开发的,基于开源项目WebKit,但进行了大量优化和定制,特别注重在移动设备上的性能和用户体验。X5内核包含了TBS(腾讯浏览服务)框架,提供了更强大的JavaScript执行能力、更快的页面...
本资源主要是实现手机浏览器的设计与实现,包括具体的过程
《Android内核与标准Linux内核对比分析》 Android内核是Google开发的开源移动操作系统Android的核心组成部分,基于Linux 2.6内核,但在针对移动设备的特性上进行了诸多定制化修改。本文旨在深入探讨Android内核与...