ArkTS API详解(AbilityStage)

191 阅读1分钟

@ohos.app.ability.AbilityStage

AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。

AbilityStage与Module一一对应,即一个Module拥有一个AbilityStage。

DevEco Studio默认工程中未自动生成AbilityStage,如需要使用AbilityStage的能力,可以手动新建一个AbilityStage文件,具体步骤如下。

  1. 在工程Module对应的ets目录下,右键选择“New > Directory”,新建一个目录并命名为myabilitystage。
  2. 在myabilitystage目录,右键选择“New > TypeScript File”,新建一个TypeScript文件并命名为MyAbilityStage.ts。
  3. 打开MyAbilityStage.ts文件,导入AbilityStage的依赖包,自定义类继承AbilityStage并加上需要的生命周期回调。
export default class MyAbilityStage extends AbilityStage {
  //当应用创建时调用。
  onCreate() {
    // 在开始加载对应Module的第一个UIAbility实例之前会先创建AbilityStage,并在AbilityStage创建完成之后执行其onCreate()生命周期回调。
    // AbilityStage模块提供在Module加载的时候,通知开发者,可以在此进行该Module的初始化(如资源预加载,线程创建等)能力。
  }
  
  //启动一个specified ability时触发的事件。
  onAcceptWant(want) {
    // 仅specified模式下触发
    return "MyAbilityStage";
  }
  
  //环境变化通知接口,发生全局配置变更时回调。
  onConfigurationUpdate(config) {
    console.log('onConfigurationUpdate, language:' + config.language);
  }

  //当系统已决定调整内存时调用。
  onMemoryLevel(level) {
    console.log('onMemoryLevel, level:' + JSON.stringify(level));
  } 
  
}