• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License"),
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import AbilityConstant from "./@ohos.app.ability.AbilityConstant";
17import { Configuration } from './@ohos.app.ability.Configuration';
18
19/**
20 * The class of an ability.
21 * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore
22 * @StageModelOnly
23 * @since 9
24 */
25export default class Ability {
26    /**
27     * Called when the system configuration is updated.
28     * @param { Configuration } newConfig - Indicates the updated configuration.
29     * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore
30     * @StageModelOnly
31     * @since 9
32     */
33    onConfigurationUpdate(newConfig: Configuration): void;
34
35    /**
36     * Called when the system has determined to trim the memory, for example, when the ability is running in the
37     * background and there is no enough memory for running as many background processes as possible.
38     * @param { AbilityConstant.MemoryLevel } level - Indicates the memory trim level, which shows the current memory
39     *                                                usage status.
40     * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore
41     * @StageModelOnly
42     * @since 9
43     */
44    onMemoryLevel(level: AbilityConstant.MemoryLevel): void;
45}
46