• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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![uiExtensionAbility](../figures/image-ability-uiExtensionAbility.png)
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