官方文档:UIAbility组件
UIAbility组件概述
[Q&A] 什么是UIAbility?
UIAbility
组件是一种包含UI界面的应用组件,专门用于与用户进行交互。主要用于处理用户输入、展示信息以及与用户进行实时交流。- 一个
UIAbility
组件中可以通过多个页面来实现一个完整的功能模块。每个页面对应功能模块的不同阶段或视图,实现模块化的设计。每一个UIAbility
组件实例都对应于最近任务列表中的一个任务。
声明周期
Create(创建阶段),在Create阶段,UIAbility实例被创建,可以进行应用的初始化操作。
Foreground(前台阶段),UIAbility实例切换至前台,成为用户当前关注的界面。
Background(后台阶段)UIAbility实例切换至后台,失去用户焦点。
Destroy(销毁阶段)在Destroy阶段,UIAbility实例被销毁,用作资源的释放和善后工作。
UIAbility组件-启动模式
-
singleton(单实例模式)
每次调用startAbility()方法时,如果应用进程中该类型的UIAbility实例已经存在,则复用系统中的UIAbility实例。系统中只存在唯一一个该UIAbility实例,即在最近任务列表中只存在一个该类型的UIAbility实例。 -
multiton(多实例模式)
multiton启动模式为多实例模式,每次调用startAbility()方法时,都会在应用进程中创建一个新的该类型UIAbility实例。即在最近任务列表中可以看到有多个该类型的UIAbility实例。 -
specified(指定实例模式)
specified启动模式为指定实例模式,针对一些特殊场景使用(例如文档应用中每次新建文档希望都能新建一个文档实例,重复打开一个已保存的文档希望打开的都是同一个文档实例)。
UIAbility组件-与UI的数据同步
- 使用
EventHub
进行数据通信
EventHub 提供了基于发布订阅模式的通信机制,事件需要先被订阅后才能被发布。
订阅者收到消息后进行异步处理,实现组件间的松耦合通信。 - 使用
AppStorage/LocalStorage
来进行数据同步
可以将数据存储在本地,实现数据的持久化。