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

鸿蒙中的Ability(新手必看)

Ability 翻译成中文就是“能力”的意思。在 HarmonyOS 中,Ability 是应用所具备能力的抽象,也是应用程序的重要组成部分。

单Ability应用和多Ability应用

一个应用可以具备多种能力,也就是说可以包含多个 Ability。HarmonyOS 支持应用以 Ability 为单位进行部署。


图 1 单Ability应用和多Ability应用

上图中,左侧图片是一个浏览器应用,右侧图片是一个聊天应用。浏览器应用可以通过一个 Ability 结合多页面的形式让用户进行搜索和浏览内容。而聊天应用增加一个“外卖功能”的场景,则可以将聊天应用中“外卖功能”的内容独立为一个 Ability。当用户打开聊天应用的“外卖功能”并查看外卖订单详情,此时有新的聊天消息,即可以通过最近任务列表切换回聊天窗口继续进行聊天对话。

HarmonyOS应用模型

应用模型是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。

HarmonyOS 应用模型的构成要素主要包括:

1) 应用组件

应用组件是应用的基本组成单位,是应用的运行入口。用户在启动、使用和退出应用过程中,应用组件会在不同的状态间切换,这些状态称为应用组件的生命周期。

应用组件提供生命周期的回调函数,开发者通过应用组件的生命周期回调感知应用的状态变化。应用开发者在编写应用时,首先需要编写的就是应用组件,同时还需要编写应用组件的生命周期回调函数,并在应用配置文件中配置相关信息。这样,操作系统在运行期间通过配置文件创建应用组件的实例,并调度它的生命周期回调函数,从而执行开发者的代码。

2) 应用进程模型

应用进程模型定义应用进程的创建和销毁方式,以及进程间的通信方式。

3) 应用线程模型

应用线程模型定义应用进程内线程的创建和销毁方式、主线程和 UI 线程的创建方式、线程间的通信方式。

4) 应用任务管理模型(仅对系统应用开放)

应用任务管理模型定义任务(Mission)的创建和销毁方式,以及任务与组件间的关系。所谓任务,即用户使用一个应用组件实例的记录。每次用户启动一个新的应用组件实例,都会生成一个新的任务。

例如,用户启动一个视频应用,此时在“最近任务”界面将会看到视频应用这个任务,当用户单击这个任务时,系统会把该任务切换到前台,如果这个视频应用中的视频编辑功能也是通过应用组件编写的,那么用户在启动视频编辑功能时,会创建视频编辑的应用组件实例,在“最近任务”界面中,将会显示视频应用、视频编辑两个任务。

5) 应用配置文件

应用配置文件中包含应用配置信息、应用组件信息、权限信息、开发者自定义信息等,这些信息在编译构建、分发和运行阶段分别提供给编译工具、应用市场和操作系统使用。

截至目前,在 HarmonyOS 中 Ability 框架模型结构具有两种形态:
FA 模型和 Stage 模型的工程目录结构存在差异,Stage 模型目前只支持使用 ArkTS 语言进行开发。

相关文章