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## Ability.onConfigurationUpdate 28 29onConfigurationUpdate(newConfig: Configuration): void 30 31当系统配置更新时调用。 32 33**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 34 35**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore 36 37**参数:** 38 39| 参数名 | 类型 | 必填 | 说明 | 40| -------- | -------- | -------- | -------- | 41| newConfig | [Configuration](js-apis-app-ability-configuration.md) | 是 | 表示需要更新的配置信息。 | 42 43**示例:** 44 ```ts 45// Ability是顶层基类,不支持开发者直接继承。故以派生类UIAbility举例说明。 46import { UIAbility, Configuration } from '@kit.AbilityKit'; 47 48class MyUIAbility extends UIAbility { 49 onConfigurationUpdate(config: Configuration) { 50 console.log(`onConfigurationUpdate, config: ${JSON.stringify(config)}`); 51 } 52} 53 ``` 54 55## Ability.onMemoryLevel 56 57onMemoryLevel(level: AbilityConstant.MemoryLevel): void 58 59当内存到达不同级别时系统回调该方法。 60 61**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 62 63**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore 64 65**参数:** 66 67| 参数名 | 类型 | 必填 | 说明 | 68| -------- | -------- | -------- | -------- | 69| level | [AbilityConstant.MemoryLevel](js-apis-app-ability-abilityConstant.md#memorylevel) | 是 | 当前内存使用级别。| 70 71**示例:** 72 73 ```ts 74// Ability是顶层基类,不支持开发者直接继承。故以派生类UIAbility举例说明。 75import { UIAbility, AbilityConstant } from '@kit.AbilityKit'; 76 77class MyUIAbility extends UIAbility { 78 onMemoryLevel(level: AbilityConstant.MemoryLevel) { 79 console.log(`onMemoryLevel, level: ${JSON.stringify(level)}`); 80 } 81} 82 ``` 83