Android WebView 与 WebKit 内核深入讲解 Android WebView 是 Android 平台上的一种基于 WebKit 内核的浏览器控件,可以用来在移动应用程序中显示网页内容。WebKit 是一个开源的浏览器网页排版引擎,包含 WebCore 排版引擎和 JSCore 引擎。下面是 Android WebView 和 WebKit 内核的深入讲解。 一、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 库两个部分,其目录结构如下所示: 1. Java 层(根目录 device\java\android\android\webkit) * BrowserFrame.java:BrowserFrame 对象是对 WebCore 库中的 Frame 对象的 Java 层封装,用于创建 WebCore 中定义的 Frame,以及为该 Frame 对象提供 Java 层回调方法。 * ByteArrayBuilder.java:ByteArrayBuilder 辅助对象,用于 byte 块链表的处理。 * CacheLoader.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 控制。 了解了 Android WebView 和 WebKit 内核的工作机理,我们可以更好地使用它们来开发移动应用程序,提高应用程序的性能和安全性。
































剩余9页未读,继续阅读

- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 毕设&课设:智慧笔匠在线文档 第十三届“中国软件杯”大学生软件设计大赛 A10 在线编辑器赛道一等奖作品.zip
- 毕设&课设:智慧工地设计方案.zip
- 毕设&课设:智慧记单词,本科Android课程设计.zip
- 毕设&课设:智慧党建项目-中铁一局集团第五工程有限公司-中国兵器工业集团特种能源集团-中铁第一勘察设计院城建院-.zip
- Delphi 12 控件之Delphi-获得打印机列表&打印机状态&打印机详细信息源代码
- 毕设&课设:智慧社区党建积分——毕业设计Android端.zip
- 毕设&课设:智慧零工平台前端系统是一个基于uni-app框架开发的跨平台移动端应用,支持微信小程序和H5双端运行.zip
- 毕设&课设:智慧社区居家养老健康管理系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,.zip
- 毕设&课设:智慧社团(毕业设计).zip
- 毕设&课设:智慧外贸平台,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,Java.zip
- 毕设&课设:智慧图书管理系统设计与实现,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小.zip
- 毕设&课设:智慧物业平台修改5.5小程序,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,.zip
- 毕设&课设:智慧物业平台小程序,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,J.zip
- 毕设&课设:智慧物流小程序,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,Jav.zip
- 毕设&课设:智慧校园云端管理系统的设计和实现.zip
- 毕设&课设:智慧校园管理系统小程序,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序.zip



- 1
- 2
前往页