1# @ohos.app.ability.AbilityStage (AbilityStage) 2 3AbilityStage是HAP的运行时类。 4 5AbilityStage类提供在HAP加载的时候,通知开发者,可以在此进行该HAP的初始化(如资源预加载,线程创建等)能力。 6 7> **说明:** 8> 9> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 10> 11> 本模块接口仅可在Stage模型下使用。 12 13## 导入模块 14 15```ts 16import { AbilityStage } from '@kit.AbilityKit'; 17``` 18 19## 属性 20 21**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 22 23**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 24 25| 名称 | 类型 | 只读 | 可选 | 说明 | 26| -------- | -------- | -------- | -------- | -------- | 27| context | [AbilityStageContext](js-apis-inner-application-abilityStageContext.md) | 否 | 否 | AbilityStage上下文。 | 28 29## AbilityStage.onCreate 30 31onCreate(): void 32 33当应用创建时调用。 34 35**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 36 37**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 38 39**示例:** 40 41```ts 42import { AbilityStage } from '@kit.AbilityKit'; 43 44class MyAbilityStage extends AbilityStage { 45 onCreate() { 46 console.log('MyAbilityStage.onCreate is called'); 47 } 48} 49``` 50 51 52## AbilityStage.onAcceptWant 53 54onAcceptWant(want: Want): string 55 56启动一个specified ability时触发的事件。 57 58**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 59 60**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 61 62**参数:** 63 64| 参数名 | 类型 | 必填 | 说明 | 65| -------- | -------- | -------- | -------- | 66| want | [Want](js-apis-app-ability-want.md) | 是 | Want类型参数,传入需要启动的ability的信息,如Ability名称,Bundle名称等。 | 67 68**返回值:** 69 70 | 类型 | 说明 | 71 | -------- | -------- | 72 | string | 返回一个ability标识,如果之前启动过标识的ability,不创建新的实例并拉回栈顶,否则创建新的实例并启动。 | 73 74**示例:** 75 76```ts 77import { AbilityStage, Want } from '@kit.AbilityKit'; 78 79class MyAbilityStage extends AbilityStage { 80 onAcceptWant(want: Want) { 81 console.log('MyAbilityStage.onAcceptWant called'); 82 return 'com.example.test'; 83 } 84} 85``` 86 87## AbilityStage.onNewProcessRequest<sup>11+</sup> 88 89onNewProcessRequest(want: Want): string 90 91在指定进程中启动UIAbility时回调。 92 93**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 94 95**参数:** 96 97| 参数名 | 类型 | 必填 | 说明 | 98| -------- | -------- | -------- | -------- | 99| want | [Want](js-apis-app-ability-want.md) | 是 | Want类型参数,传入需要启动的ability的信息,如Ability名称,Bundle名称等。 | 100 101**返回值:** 102 103| 类型 | 说明 | 104| -------- | -------- | 105| string | 返回一个由开发者自行决定的进程字符串标识,如果之前此标识对应的进程已被创建,就让ability在此进程中运行,否则创建新的进程。 | 106 107**示例:** 108 109```ts 110import { AbilityStage, Want } from '@kit.AbilityKit'; 111 112class MyAbilityStage extends AbilityStage { 113 onNewProcessRequest(want: Want) { 114 console.log('MyAbilityStage.onNewProcessRequest called'); 115 return 'com.example.test'; 116 } 117} 118``` 119 120 121## AbilityStage.onConfigurationUpdate 122 123onConfigurationUpdate(newConfig: Configuration): void 124 125环境变化通知接口,发生全局配置变更时回调。 126 127**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 128 129**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 130 131**参数:** 132 133 | 参数名 | 类型 | 必填 | 说明 | 134 | -------- | -------- | -------- | -------- | 135 | newConfig | [Configuration](js-apis-app-ability-configuration.md) | 是 | 发生全局配置变更时触发回调,当前全局配置包括系统语言、深浅色模式。 | 136 137**示例:** 138 139```ts 140import { AbilityStage, Configuration } from '@kit.AbilityKit'; 141 142class MyAbilityStage extends AbilityStage { 143 onConfigurationUpdate(config: Configuration) { 144 console.log(`onConfigurationUpdate, language: ${config.language}`); 145 } 146} 147``` 148 149## AbilityStage.onMemoryLevel 150 151onMemoryLevel(level: AbilityConstant.MemoryLevel): void 152 153当系统已决定调整内存时调用。例如,当该功能在后台运行时,没有足够的内存来运行尽可能多的后台进程时可以使用。 154 155**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 156 157**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 158 159**参数:** 160 161 | 参数名 | 类型 | 必填 | 说明 | 162 | -------- | -------- | -------- | -------- | 163 | level | [AbilityConstant.MemoryLevel](js-apis-app-ability-abilityConstant.md#memorylevel) | 是 | 回调返回内存微调级别,显示当前内存使用状态。| 164 165**示例:** 166 167```ts 168import { AbilityStage, AbilityConstant } from '@kit.AbilityKit'; 169 170class MyAbilityStage extends AbilityStage { 171 onMemoryLevel(level: AbilityConstant.MemoryLevel) { 172 console.log(`onMemoryLevel, level: ${JSON.stringify(level)}`); 173 } 174} 175``` 176 177## AbilityStage.context 178 179context: AbilityStageContext 180 181指示AbilityStage的上下文。 182 183**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 184 185**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 186 187| 属性名 | 类型 | 说明 | 188| ----------- | --------------------------- | ------------------------------------------------------------ | 189| context | [AbilityStageContext](js-apis-inner-application-abilityStageContext.md) | 在Ability启动阶段进行初始化时回调,获取到该Ability的context值。 | 190 191**示例:** 192 193```ts 194import { AbilityStage } from '@kit.AbilityKit'; 195 196export default class MyAbilityStage extends AbilityStage { 197 onCreate() { 198 let abilityStageContext = this.context; 199 } 200} 201``` 202 203## AbilityStage.onDestroy<sup>12+<sup> 204 205onDestroy(): void 206 207当应用销毁时调用, 此方法将在正常的调度生命周期中调用, 当应用程序异常退出或被终止时,将不会调用此方法。 208 209**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 210 211**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 212 213**示例:** 214 215```ts 216import { AbilityStage } from '@kit.AbilityKit'; 217 218class MyAbilityStage extends AbilityStage { 219 onDestroy() { 220 console.log('MyAbilityStage.onDestroy is called'); 221 } 222} 223``` 224