介绍
AbilityStage是HAP的运行时类。
AbilityStage类提供在HAP加载的时候,通知开发者,可以在此进行该HAP的初始化(如资源预加载,线程创建等)能力。
深入理解
AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。
AbilityStage与Module一一对应,即一个Module拥有一个AbilityStage。
DevEco Studio默认工程中未自动生成AbilityStage,如需要使用AbilityStage的能力,可以手动新建一个AbilityStage文件
上手操作
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import { AbilityConstant, AbilityStage, Want } from '@kit.AbilityKit' export default class MyAbilityStage extends AbilityStage { onCreate(): void { // 应用的HAP在首次加载时,为该Module初始化操作 console.info('MyAbilityStage onCreate') } onAcceptWant(want: Want): string { // 仅specified模式下触发 return 'MyAbilityStage' } onMemoryLevel(level: AbilityConstant.MemoryLevel): void { // 根据系统可用内存的变化情况,释放不必要的内存 } } |
方法
onCreate
1 2 |
// 当应用创建时调用。 onCreate(): void |
onAcceptWant
1 2 |
// 启动一个specified ability时触发的事件。 onAcceptWant(want: Want): string |
onNewProcessRequest
1 2 |
// 在指定进程中启动UIAbility时回调。 onNewProcessRequest(want: Want): string |
onConfigurationUpdate
1 2 |
// 环境变化通知接口,发生全局配置变更时回调。 onConfigurationUpdate(newConfig: Configuration): void |
onMemoryLevel
1 2 |
// 当系统已决定调整内存时调用。例如,当该功能在后台运行时,没有足够的内存来运行尽可能多的后台进程时可以使用。 onMemoryLevel(level: AbilityConstant.MemoryLevel): void |
context
1 2 |
// 指示AbilityStage的上下文。 context: AbilityStageContext |
1 2 3 4 5 6 7 8 |
// 示例 import { AbilityStage } from '@kit.AbilityKit'; export default class MyAbilityStage extends AbilityStage { onCreate() { let abilityStageContext = this.context; } } |
onDestroy
1 2 |
// 当应用销毁时调用, 此方法将在正常的调度生命周期中调用, 当应用程序异常退出或被终止时,将不会调用此方法。 onDestroy(): void |