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