1# @ohos.app.ability.Ability (Ability基类) 2 3[UIAbility](js-apis-app-ability-uiAbility.md)和[ExtensionAbility](js-apis-app-ability-extensionAbility.md)的基类,提供系统配置更新回调和系统内存调整回调。不支持开发者直接继承该基类。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 9> 本模块接口仅可在Stage模型下使用。 10 11## 导入模块 12 13```ts 14import { Ability } from '@kit.AbilityKit'; 15``` 16 17## Ability的继承关系说明 18 19各类Ability的继承关系如下图所示。 20 21> **说明:** 22> 23> 部分ExtensionAbility组件(例如[FormExtensionAbility](../apis-form-kit/js-apis-app-form-formExtensionAbility.md)、[InputMethodExtensionAbility](../apis-ime-kit/js-apis-inputmethod-extension-ability.md)等)与下图中的ExtensionAbility基类不存在继承关系,均未在图中列出。 24 25 26 27 28## Ability.onConfigurationUpdate 29 30onConfigurationUpdate(newConfig: Configuration): void 31 32当系统配置更新时调用。 33 34**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 35 36**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore 37 38**参数:** 39 40| 参数名 | 类型 | 必填 | 说明 | 41| -------- | -------- | -------- | -------- | 42| newConfig | [Configuration](js-apis-app-ability-configuration.md) | 是 | 表示需要更新的配置信息。 | 43 44**示例:** 45 ```ts 46// Ability是顶层基类,不支持开发者直接继承。故以派生类UIAbility举例说明。 47import { UIAbility, Configuration } from '@kit.AbilityKit'; 48 49class MyUIAbility extends UIAbility { 50 onConfigurationUpdate(config: Configuration) { 51 console.log(`onConfigurationUpdate, config: ${JSON.stringify(config)}`); 52 } 53} 54 ``` 55 56## Ability.onMemoryLevel 57 58onMemoryLevel(level: AbilityConstant.MemoryLevel): void 59 60当内存到达不同级别时系统回调该方法。 61 62**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 63 64**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore 65 66**参数:** 67 68| 参数名 | 类型 | 必填 | 说明 | 69| -------- | -------- | -------- | -------- | 70| level | [AbilityConstant.MemoryLevel](js-apis-app-ability-abilityConstant.md#memorylevel) | 是 | 当前内存使用级别。| 71 72**示例:** 73 74 ```ts 75// Ability是顶层基类,不支持开发者直接继承。故以派生类UIAbility举例说明。 76import { UIAbility, AbilityConstant } from '@kit.AbilityKit'; 77 78class MyUIAbility extends UIAbility { 79 onMemoryLevel(level: AbilityConstant.MemoryLevel) { 80 console.log(`onMemoryLevel, level: ${JSON.stringify(level)}`); 81 } 82} 83 ``` 84