当用户打开、切换和返回到对应应用时,应用中的 UIAbility 实例会在其生命周期的不同状态之间转换。UIAbility类提供了一系列回调,通过这些回调可以知道当前UIAbility实例的某个状态发生改变,会经过UIAbility实例的创建和销毁,或者UIAbility实例发生了前后台的状态切换。
UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态,如下图所示。
图1 UIAbility生命周期状态

生命周期状态说明
Create状态
Create状态为在应用加载过程中, UIAbility 实例创建完成时触发,系统会调用 onCreate() 回调。可以在该回调中进行页面初始化操作,例如变量定义资源加载等,用于后续的UI展示。
import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
// 页面初始化
}
// ...
}
说明: Want 是对象间信息传递的载体,可以用于应用组件间的信息传递。
WindowStageCreate和WindowStageDestroy状态
UIAbility 实例创建完成之后,在进入Foreground之前,系统会创建一个WindowStage。WindowStage创建完成后会进入 onWindowStageCreate() 回调,可以在该回调中设置UI加载、设置WindowStage的事件订阅。
图2 WindowStageCreate和WindowStageDestroy状态

在onWindowStageCreate()回调中通过 loadContent() 方法设置应用要加载的页面,并根据需要调用on('windowStageEvent') 方法订阅 WindowStage的事件 (获焦/失焦、切到前台/切到

最低0.47元/天 解锁文章
1794

被折叠的 条评论
为什么被折叠?



