@ohos.app.ability.Ability (Ability Base Class)

This is the base class of UIAbility and ExtensionAbility. It provides the callbacks for system configuration updates and memory level updates. You cannot inherit from this base class.

NOTE

The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.

The APIs of this module can be used only in the stage model.

Modules to Import

import { Ability } from '@kit.AbilityKit';

Ability Inheritance Relationship

The following figure shows the inheritance relationship of a variety of abilities.

NOTE

Some ExtensionAbilities (such as FormExtensionAbility and InputMethodExtensionAbility) do not inherit from the ExtensionAbility base class and therefore are not provided in the following figure.

uiExtensionAbility

Ability.onConfigurationUpdate

onConfigurationUpdate(newConfig: Configuration): void

Called when the configuration of the environment where the ability is running is updated.

Atomic service API: This API can be used in atomic services since API version 11.

System capability: SystemCapability.Ability.AbilityRuntime.AbilityCore

Parameters

Name Type Mandatory Description
newConfig Configuration Yes New configuration.

Example

// You are not allowed to inherit from the top-level base class Ability. Therefore, the derived class UIAbility is used as an example.
import { UIAbility, Configuration } from '@kit.AbilityKit';

class MyUIAbility extends UIAbility {
  onConfigurationUpdate(config: Configuration) {
      console.log(`onConfigurationUpdate, config: ${JSON.stringify(config)}`);
  }
}

Ability.onMemoryLevel

onMemoryLevel(level: AbilityConstant.MemoryLevel): void

Called when the system adjusts the memory level.

Atomic service API: This API can be used in atomic services since API version 11.

System capability: SystemCapability.Ability.AbilityRuntime.AbilityCore

Parameters

Name Type Mandatory Description
level AbilityConstant.MemoryLevel Yes New memory level.

Example

// You are not allowed to inherit from the top-level base class Ability. Therefore, the derived class UIAbility is used as an example.
import { UIAbility, AbilityConstant } from '@kit.AbilityKit';

class MyUIAbility extends UIAbility {
onMemoryLevel(level: AbilityConstant.MemoryLevel) {
  console.log(`onMemoryLevel, level: ${JSON.stringify(level)}`);
}
}