首页 > 编程笔记 > 通用技能 阅读:3

ArkWeb是什么,ArkWeb简介(新手必看)

ArkWeb(方舟 Web)是一个用于在应用程序中显示 Web 页面内容的 Web 组件,具备多种功能,包括页面加载、生命周期管理、属性与事件处理、与应用界面的交互、安全与隐私保护以及维测能力。

ArkWeb 提供了 Web 组件,用于在应用程序中显示 Web 页面内容。常见的使用场景包括:

ArkWeb的功能

ArkWeb 提供了丰富的功能来控制和操作 Web 页面,主要包括以下几个方面:
App 通过 JavaScriptProxy 实现与 Web 页面之间的 JavaScript 交互:
需要注意的是,在使用 ArkWeb 打开网站时,需要配置网络权限,即在项目的 module.json5 中添加如下内容,进行网络权限的配置,否则无法打开网站。
"requestPermissions": [
{
   // 网络权限
   "name": "ohos.permission.INTERNET"
}
]

ArkWeb组件进程

ArkWeb 是多进程模型,分为应用进程、Foundation 进程、Web 孵化进程、Web 渲染进程和 Web GPU 进程,如下图所示:


图 1 ArkWeb 组件进程图

1) 应用进程为主进程,包括 UI 主线程和 Web 相关线程(应用唯一)。Web 相关线程包含网络线程、视频线程、音频线程和 IO 线程等。应用进程负责 Web 组件的北向接口与回调处理,以及网络请求、媒体服务等需要与其他系统服务交互的任务。

2) Foundation 进程(系统唯一),负责接收应用进程发起的孵化请求,管理应用进程和 Web 渲染进程的绑定关系。

3) Web 孵化进程(系统唯一),负责接收 Foundation 进程的请求,孵化 Web 渲染进程与 Web GPU 进程。孵化后进行安全沙箱降权和预加载动态库,以提升性能。

4) Web 渲染进程,负责运行 Web 渲染引擎,包括 HTML 解析、排版、绘制和渲染等操作。应用可以选择多个 Web 实例间共享渲染进程或独立运行进程。此外,Web 渲染进程还负责运行 ArkWeb 执行引擎,处理 JavaScript 和 Web Assembly。提供接口让应用根据需求选择多 Web 实例间是否共享渲染进程,以满足不同场景下对安全性、稳定性和内存占用的要求。默认策略:在移动设备上共享渲染进程以节省内存,而在 2in1(也就是二合一,是将两种技术或产品结合到一起的产品)设备上则采用独立渲染进程,以提升安全性和稳定性。

5) Web GPU 进程(应用唯一),负责处理与 GPU 及 RenderService 交互的功能,包括光栅化、合成和显示等操作,以提升应用进程的稳定性和安全性。

相关文章