鸿蒙开发语言ArkTS–Ability中的生命周期
在ArkTS语言中,这是一个在ArkTS中定义Ability生命周期的示例。
Ability的生命周期:
-
onCreate(want, launchParam):在UI创建后执行的函数。在这个阶段,您可以执行初始化操作,设置初始状态,并且可以注册监听器等。
-
onDestroy():在UI销毁后执行的函数。在这个阶段,您可以执行一些清理操作,释放资源等。
-
onWindowStageCreate(windowStage: window.WindowStage):在主窗口创建后执行的函数。在这个阶段,您可以设置主页面,并且可以进行一些UI相关的操作。
-
onWindowStageDestroy():在主窗口销毁后执行的函数。在这个阶段,您可以释放与UI相关的资源。
-
onForeground():在Ability进入前台后执行的函数。在这个阶段,您可以执行一些与前台显示相关的操作。
-
onBackground():在Ability切换到后台后执行的函数。在这个阶段,您可以执行一些与后台运行相关的操作。
总的来说,这些函数定义了Ability的整个生命周期,从创建到销毁,以及前台和后台运行时的状态变化。我们开发人员可以在这些函数中编写相应的逻辑,以实现对应生命周期阶段的操作。
整体EntryAbility.ets的代码如下:
/*** Ability的生命周期*/
export default class EntryAbility extends UIAbility {/*** UI创建后执行* @param want* @param launchParam*/onCreate(want, launchParam) {hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');}/*** UI销毁后执行*/onDestroy() {hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy');}/*** 主窗口创建执行* @param windowStage*/onWindowStageCreate(windowStage: window.WindowStage) {// Main window is created, set main page for this abilityhilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');const userSetting = new UserSettingClass(this.context)//正常情况,需要在这里获取用户广告设置,然后根据设置,决定是否需要启动设置广告页面(假如需要弄的话)windowStage.loadContent('pages/Index', (err, data) => {if (err.code) {hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err)?? '');return;}hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');});}onWindowStageDestroy() {// Main window is destroyed, release UI related resourceshilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy');}/*** Ability进入前台之后执行*/onForeground() {// Ability has brought to foregroundhilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground');}/*** Ability切换后台台之后执行*/onBackground() {// Ability has back to backgroundhilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');}
}