鸿蒙开发语言ArkTS--Ability中的生命周期

鸿蒙开发语言ArkTS–Ability中的生命周期

在ArkTS语言中,这是一个在ArkTS中定义Ability生命周期的示例。

Ability的生命周期:

  1. onCreate(want, launchParam):在UI创建后执行的函数。在这个阶段,您可以执行初始化操作,设置初始状态,并且可以注册监听器等。

  2. onDestroy():在UI销毁后执行的函数。在这个阶段,您可以执行一些清理操作,释放资源等。

  3. onWindowStageCreate(windowStage: window.WindowStage):在主窗口创建后执行的函数。在这个阶段,您可以设置主页面,并且可以进行一些UI相关的操作。

  4. onWindowStageDestroy():在主窗口销毁后执行的函数。在这个阶段,您可以释放与UI相关的资源。

  5. onForeground():在Ability进入前台后执行的函数。在这个阶段,您可以执行一些与前台显示相关的操作。

  6. 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 ability
    hilog.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 resources
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy');
  }
  /**
   * Ability进入前台之后执行
   */
  onForeground() {
   
    // Ability has brought to foreground
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground');
  }
  /**
   * Ability切换后台台之后执行
   */
  onBackground() {
   
    // Ability has back to background
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');
  }
}

相关推荐

  1. 鸿蒙开发语言ArkTS--Ability生命周期

    2024-01-20 23:04:02       74 阅读
  2. 探索鸿蒙_ArkTs开发语言

    2024-01-20 23:04:02       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-20 23:04:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-20 23:04:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-20 23:04:02       82 阅读
  4. Python语言-面向对象

    2024-01-20 23:04:02       91 阅读

热门阅读

  1. 算子开发参考

    2024-01-20 23:04:02       64 阅读
  2. Python装饰器

    2024-01-20 23:04:02       70 阅读
  3. SQL中的几个区别

    2024-01-20 23:04:02       50 阅读
  4. Python爬虫实战014:利用requests库实现自动评论

    2024-01-20 23:04:02       59 阅读
  5. stm32 - GPIO高级用法

    2024-01-20 23:04:02       66 阅读