FA模型整体架构****
HarmonyOS用户程序的开发本质上就是开发Ability。HarmonyOS系统是通过对Ability调度,结合系统提供的一致性调度契约对Ability进行生命周期管理,从而实现对用户程序的调度。
FA模型的几种类型
PageAbility:具备ArkUI实现的Ability,是用户具体可见并可以交互的Ability实例。
ServiceAbility:是Ability一种,但是没有UI,提供其他Ability调用自定义的服务,在后台运行。
DataAbility:是没有UI的Ability,提供其他Ability进行数据的增删查服务,在后台运行。
FormAbility:是卡片Ability,是一种界面展示形式。
FA模型的几种类型的生命周期
** PageAbility的生命周期 :**
UNINITIALIZED :未初始状态,为临时状态,PageAbility被创建后会由UNINITIALIZED状态进入INITIAL状态。
INITIAL :初始化状态,也表示停止状态,表示当前PageAbility未运行,PageAbility被启动后由INITIAL态进入ACTIVE状态。
INACTIVE :失去焦点状态,表示当前窗口已显示但是无焦点状态。
ACTIVE :前台激活状态,表示当前窗口已显示,并获取焦点。
BACKGROUND :后台状态,表示当前PageAbility退到后台,PageAbility在被销毁后由BACKGROUND状态进入INITIAL状态,或者重新被激活后由BACKGROUND状态进入ACTIVE状态。

Service Ability的生命周期 :
接口名 |
描述 |
onStart |
该方法在创建Service的时候调用,用于Service的初始化。在Service的整个生命周期只会调用一次,调用时传入的Want应为空。 |
onCommand |
在Service创建完成之后调用,该方法在客户端每次启动该Service时都会调用,开发者可以在该方法中做一些调用统计、初始化类的操作。 |
onConnect |
在Ability和Service连接时调用。 |
onDisconnect |
在Ability与绑定的Service断开连接时调用。 |
onStop |
在Service销毁时调用。Service应通过实现此方法来清理任何资源,如关闭线程、注册的侦听器等。 |
Data Ability的生命周期 :
接口名 |
描述 |
onInitialized |
在Ability初始化调用,通过此回调方法执行rdb等初始化操作。 |
update |
更新数据库中的数据。 |
query |
查询数据库中的数据。 |
delete |
删除一条或多条数据。 |
normalizeUri |
对uri进行规范化。一个规范化的uri可以支持跨设备使用、持久化、备份和还原等,当上下文改变时仍然可以引用到相同的数据项。 |
batchInsert |
向数据库中插入多条数据。 |
denormalizeUri |
将一个由normalizeUri生产的规范化uri转换成非规范化的uri。 |
insert |
向数据中插入一条数据。 |
openFile |
打开一个文件。 |
getFileTypes |
获取文件的MIME类型。 |
getType |
获取uri指定数据相匹配的MIME类型。 |
executeBatch |
批量操作数据库中的数据。 |
call |
自定义方法。 |
Form Ability的生命周期 :
接口名 |
描述 |
onCreate(want: Want): formBindingData.FormBindingData |
卡片提供方接收创建卡片的通知接口。 |
onCastToNormal(formId: string): void |
卡片提供方接收临时卡片转常态卡片的通知接口。 |
onUpdate(formId: string): void |
卡片提供方接收更新卡片的通知接口。 |
onVisibilityChange(newStatus: { [key: string]: number }): void |
卡片提供方接收修改可见性的通知接口。 |
onEvent(formId: string, message: string): void |
卡片提供方接收处理卡片事件的通知接口。 |
onDestroy(formId: string): void |
卡片提供方接收销毁卡片的通知接口。 |
onAcquireFormState?(want: Want): formInfo.FormState |
卡片提供方接收查询卡片状态的通知接口。 |
参考文档:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/fa-brief-0000001333640861
*附件:HarmonyOSOpenHarmony应用开发-FA模型综述.docx
|