`
hunankeda110
  • 浏览: 746506 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android webkit 内核

阅读更多

    关于android内核的一些基础知识,更详细请见附件

一、WebKit简介

WebKit是一个开源的浏览器网页排版引擎,包含WebCore排版引擎和JSCore引擎。WebCoreJSCore引擎来自于KDE项目的KHTMLKJS开源项目。Android平台的Web引擎框架采用了WebKit项目中的WebCoreJSCore部分,上层由Java语言封装,并且作为API提供给Android应用开发者,而底层使用WebKit核心库(WebCoreJSCore)进行网页排版。

二、WebKit目录结构

Android平台的WebKit模块分成JavaWebKit库两个部分,其目录结构如下表所示:

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管理对象,负责JavaCache对象管理

CacheSyncManager.java

Cache同步管理对象,负责同步RAMFLASH之间的浏览器Cache数据。实际的物理数据操作在WebSyncManager对象中完成。

CallbackProxy.java

该对象是用于处理WebCoreUI线程消息的代理类。当有Web事件产生时WebCore线程会调用该回调代理类,代理类会通过消息的方式通知UI线程,并且调用设置的客户对象的回调函数。

CellList.java

CellList定义图片集合中的Cell,管理Cell图片的绘制、状态改变以及索引。

CookieManager.java

根据RFC2109规范,管理cookies

CookieSyncManager.java

Cookies同步管理对象,该对象负责同步RAMFlash之间的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

JavaWebCore库中TimerCookies对象交互的桥接代码。

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

该对象使用SQLiteDatabaseWebCore模块提供数据存取操作。

0
0
分享到:
评论

相关推荐

    Android_WebView、Webkit内核深入讲解

    Android WebView 与 WebKit 内核深入讲解 Android WebView 是 Android 平台上的一种基于 WebKit 内核的浏览器控件,可以用来在移动应用程序中显示网页内容。WebKit 是一个开源的浏览器网页排版引擎,包含 WebCore ...

    WebKit内核源代

    **WebKit内核源代码分析** WebKit 是一个开源的网页渲染引擎,被广泛应用于各种操作系统和浏览器,如苹果的Safari和谷歌的Chrome。在Android平台上,WebKit被用作原生浏览器和其他应用的网页显示组件。深入理解...

    WebKit内核源代码分析(三)

    ### WebKit内核源代码分析(三):Android中的WebKit介绍 #### 一、WebKit概述与URL处理 本文档深入探讨了WebKit在Android环境下的实现原理,并特别关注了WebKit如何处理URL请求及其相关的CSS样式应用等内容。...

    webKit等内核实现的webBrowser

    - **跨平台:** WebKit可在多种操作系统上运行,包括Windows、macOS、Linux、iOS和Android,提供一致的用户体验。 - **源码开放:** 开源特性使得开发者可以自由地定制和扩展浏览器功能,满足特定需求。 2. **与...

    Android WebView、Webkit内核深入讲解资料.docx

    《Android WebView与WebKit内核深度解析》 在Android开发中,WebView是一个至关重要的组件,它允许应用程序嵌入网页浏览功能,极大地丰富了应用的内容展示。本文将深入探讨WebView背后的WebKit内核及其工作原理。 ...

    webkit 内核介绍文档入门

    【Webkit内核探究】Webkit是开源的Web浏览器引擎,它的应用广泛,包括Apple的Safari、Google的Chrome、Nokia S60平台的默认浏览器以及Apple和Android手机的默认浏览器。作为三大主流浏览器内核之一,Webkit与Gecko...

    WebKit内核源代码分析

    **WebKit内核源代码分析** WebKit 是一个开源的网页渲染引擎,被广泛应用于苹果的Safari浏览器、谷歌的Chrome浏览器以及其他许多桌面和移动平台。它负责解析HTML、CSS、JavaScript等网页内容,并将它们转化为用户...

    Webkit内核源代码分析(四)

    ### Webkit内核源代码分析(四):Android中的WebKit详解 #### 一、引言 在本篇文章中,我们将深入探讨Android系统中使用的WebKit浏览器引擎,并对其内部工作原理进行详细解析。WebKit作为一款开放源代码项目,在...

    Android Webkit

    描述:本文深入探讨了Android Webkit的原理性应用,解析了Webkit内核在Android系统中的作用、组成及其与应用程序的交互方式。 知识点: ### Webkit概述 Webkit是一个开源的浏览器引擎,是浏览器的核心组件,负责...

    WebKit内核源代码分析(五)

    ### WebKit内核源代码分析:深入理解Android中的WebKit #### 概述 在现代移动设备上,浏览器作为用户访问互联网的主要入口,其性能和稳定性至关重要。WebKit是苹果公司在Safari浏览器中使用的开源渲染引擎,它不仅...

    android4.0.1 webkit图

    在Android 4.0.1版本中,WebKit是系统内核的重要组成部分,它是一个开源的网页渲染引擎,负责解析HTML、CSS、JavaScript等Web标准语言,并将这些内容转化为用户友好的图形界面。WebKit的重要性在于,它是Android...

    android腾讯X5内核demo

    X5内核是腾讯为优化移动浏览器和Webview性能而开发的一款高性能、轻量级的浏览核心,它基于开源的WebKit并进行了大量定制优化。这个Demo包含了多个关键功能的实现,如HTML5视频全屏播放、文件选择、JavaScript交互...

    WebKit.NET-0.5-Chrome的内核WebKit的NET版.zip

    总之,WebKit.NET-0.5-Chrome的内核WebKit的NET版.zip是一个让.NET开发者能够利用WebKit内核的工具,它提供了丰富的功能和API,可以用来构建具有现代Web浏览能力的应用程序或组件。虽然这个版本可能较旧,但它仍然是...

    Android X5 Web内核集成demo

    X5内核是腾讯公司推出的一款高性能、安全、稳定的浏览器内核,基于WebKit和Blink,并进行了一系列优化,尤其在CSS和DIV的浏览器适配上表现出色,能够确保网页在不同设备和浏览器上呈现一致性。对于Android开发者而言...

    X5内核与原生内核对比

    X5内核是由腾讯QQ浏览器团队开发的,基于开源项目WebKit,但进行了大量优化和定制,特别注重在移动设备上的性能和用户体验。X5内核包含了TBS(腾讯浏览服务)框架,提供了更强大的JavaScript执行能力、更快的页面...

    基于webkit内核的手机浏览器的实现与设计

    本资源主要是实现手机浏览器的设计与实现,包括具体的过程

    Android内核与标准Linux内核对比分析.pdf

    《Android内核与标准Linux内核对比分析》 Android内核是Google开发的开源移动操作系统Android的核心组成部分,基于Linux 2.6内核,但在针对移动设备的特性上进行了诸多定制化修改。本文旨在深入探讨Android内核与...

Global site tag (gtag.js) - Google Analytics