文档详情

嵌入式系统开发P06-用户程序框架.pptx

发布:2025-03-23约5.33万字共105页下载文档
文本预览下载声明

基于OpenHarmony的嵌入式开发

第六章用户程序框架大连理工大学-朱明

安全边距6.1Ability的模型[6.1.0]Ability的模型Ability:APP应用程序所具备能力的抽象,也是应用程序的重要组成部分。Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件。在OpenHarmony中,一个应用可以包含一个或多个Ability。Ability的两种模型:FA模型、Stage模型FA模型:API8及其早期版本应用程序只能使用FA模型进行开发。基于OpenHarmony的嵌入式开发2FA模型一级分类FA模型二级分类FA(FeatureAbility)PageAbility(页面展示):具备ArkUI(方舟开发框架)实现的Ability,是用户具体可见并可以交互的Ability实例PA(ParticleAbility)ServiceAbility(服务):没有UI,提供其他Ability调用自定义的服务,在后台运行;DataAbility(数据分享):没有UI的Ability,提供其他Ability进行数据的增删查服务,在后台运行;FormAbility(卡片):卡片式Ability,一种界面展示形式。

安全边距6.1Ability的模型[6.1.0]Ability的模型Stage模型:API9开始,Ability框架引入了Stage模型。分为UIAbility(页面展示)和ExtensionAbility(服务扩展)两大类。ExtensionAbility可以分为ServiceExtensionAbility、FormExtensionAbility和DataShareExtensionAbility等。Stage模型具备以下特性:(1)实现应用的能力与系统总体功能和功耗的平衡。在系统运行过程中,前台应用的资源占用会被优先保障,与此同时由于应用能力不同而产生的功耗,也需要符合系统整体功耗的要求。Stage模型通过Ability与UI分离、严格的后台管控、基于场景的服务机制及单进程模型来达成这种应用能力与整体系统功耗的平衡。基于OpenHarmony的嵌入式开发3

安全边距6.1Ability的模型[6.1.0]Ability的模型(2)原生支持组件级的迁移和协同。OpenHarmony是原生支持分布式的操作系统,应用框架需要从架构设计上使得组件更易于实现迁移和协同。Stage模型通过Ability与UI分离及UI展示与服务能力合一等模型特性,实现这一设计目标。(3)支持多设备和多窗口形态。为了支持多种设备形态和更易于实现多种不同的窗口形态,需要组件管理服务和窗口管理服务在架构层面上是解耦的,从而方便裁剪,更有利于定制不同的窗口形态。Stage模型通过重新定义了Ability生命周期定义和设计组件管理服务和窗口管理服务的单项依赖解决这一问题。基于OpenHarmony的嵌入式开发4

安全边距6.1Ability的模型[6.1.0]Ability的模型Stage模型三个特性之间的关系基于OpenHarmony的嵌入式开发5应用的能力与系统总体功能和功耗的平衡Ability与UI分离原生支持组件级的迁移和协同支持多设备和多窗口形态严格的后台管控基于场景的服务单进程模型UI展示与服务功能合一的Ability组件Ability生命周期定义组件管理和窗口管理解耦

安全边距6.1Ability的模型[6.1.0]Ability的模型FA与Stage模型对比:差异概览基于OpenHarmony的嵌入式开发6对比FA模型Stage模型开发方式提供类Web的APIUI开发与Stage模型一致提供面向对象的开发方式UI开发与FA模型一致引擎实例每个进程内的每个Ability实例独享一个JSVM引擎实例每个进程内的多个Ability实例共享一个JSVM引擎实例进程内对象共享不支持支持包描述文件使用config.json描述HAP包和组件信息组件必须使用固定的文件名使用module.json5描述HAP包和组件信息可以指定入口文件名组件提供PageAbility、ServiceAbility、DataAbility以及FormAbility提供UIAbility、ExtensionAbility…………

安全边距6.1Ability的模型[6.1.0]Ability的模型FA与Stage模型对比:IDE差异基于OpenHarmony的嵌入式开发7选择Stage模型进行开发时,语言只能使用ArkTSFA模型则可以支持ArkTS和传统的JS

FA模型安全边距6.1Ability的模型[6.1.0]Ability的模型FA与St

显示全部
相似文档