HarmonyOS/OpenHarmony(Stageモデル)カード開発AbilityStageコンポーネントコンテナ

SkillStage はモジュール レベルのコンポーネント コンテナーです。アプリケーションの HAP は、初めてロードされるときに、AbilityStage インスタンスを作成し、モジュールの初期化やその他の操作を行うことができます。
アビリティステージはモジュールと 1 対 1 で対応します。つまり、モジュールには 1 つのアビリティステージがあります。
アビリティステージは、DevEco Studio のデフォルトプロジェクトでは自動生成されませんので、アビリティステージの機能を使用する必要がある場合は、手動で新しいアビリティステージファイルを作成することができます。具体的な手順は次のとおりです。

1. プロジェクト モジュールに対応する ets ディレクトリで、右クリックして [新規] > [ディレクトリ] を選択し、新しいディレクトリを作成し、myabilitystage という名前を付けます。
2. myabilitystage ディレクトリで右クリックし、[新規] > [TypeScript ファイル] を選択して新しい TypeScript ファイルを作成し、MyAbilityStage.ts という名前を付けます。
3. MyAbilityStage.ts ファイルを開き、AbilityStage の依存関係パッケージをインポートし、AbilityStage を継承するようにクラスをカスタマイズし、必要なライフ サイクル コールバックを追加します。この例では、onCreate() ライフ サイクル コールバックが追加されています。

import AbilityStage from '@ohos.app.ability.AbilityStage';

export default class MyAbilityStage extends AbilityStage {
  onCreate() {
    // 应用的HAP在首次加载的时,为该Module初始化操作
  }
  onAcceptWant(want) {
    // 仅specified模式下触发
    return "MyAbilityStage";
  }
}

4. module.json5 構成ファイルで、HAP ロードのエントリ ポイントとして srcEntry パラメータを構成することにより、モジュールに対応するコード パスを指定します。

{
  "module": {
    "name": "entry",
    "type": "entry",
    "srcEntry": "./ets/myabilitystage/MyAbilityStage.ts",
    ...
  }
}

SkillStage には、onCreate() ライフサイクル コールバックと、onAcceptWant()、onConfigurationUpdated()、onMemoryLevel() イベント コールバックがあります。

onCreate() ライフサイクル コールバック: 対応するモジュールの最初の UIAbility インスタンスをロードする前に、AbilityStage が作成され、その onCreate() ライフ サイクル コールバックは、AbilityStage の作成後に実行されます。SkillStage モジュールは、モジュールがロードされたときに開発者に通知する機能を提供し、モジュールを初期化できるようにします (リソースのプリロード、スレッドの作成など)。

onAcceptWant() イベント コールバック: UIAbility 指定インスタンス モード (指定) の開始時にイベント コールバックがトリガーされます。具体的な使用法については、UIAbility 起動モードの概要を参照してください。

onConfigurationUpdated() イベント コールバック: グローバル システム構成が変更されたときにトリガーされるイベント システム言語、濃い色と明るい色などはすべて、構成項目の前に Configuration クラスで定義されます。

onMemoryLevel() イベント コールバック: システムがメモリを調整するときにトリガーされるイベント。
アプリがバックグラウンドに切り替わると、システムはアプリをバックグラウンドのキャッシュに保持します。アプリケーションがキャッシュ内にある場合でも、システム全体のパフォーマンスに影響します。システム リソースが不十分な場合、システムはさまざまな方法でアプリケーションからメモリを再利用し、必要に応じてアプリケーションを完全に停止して、重要なタスクのためにメモリを解放します。システム メモリのバランスをさらに維持し、システムがユーザーのアプリケーション プロセスを停止しないようにするために、AbilityStage の onMemoryLevel() ライフサイクル コールバックでシステム メモリの変更をサブスクライブし、不要なリソースを解放できます。

import AbilityStage from '@ohos.app.ability.AbilityStage';

export default class MyAbilityStage extends AbilityStage {
    onMemoryLevel(level) {
        // 根据系统可用内存的变化情况,释放不必要的内存
    }
}

おすすめ

転載: blog.csdn.net/weixin_69135651/article/details/132457607