Stage模型開發(fā)概述

2024-01-25 12:12 更新

基本概念

下圖展示了Stage模型中的基本概念。

圖1 Stage模型概念圖

  • UIAbility組件和ExtensionAbility組件

    Stage模型提供UIAbility和ExtensionAbility兩種類型的組件,這兩種組件都有具體的類承載,支持面向?qū)ο蟮拈_發(fā)方式。

    • UIAbility組件是一種包含UI界面的應(yīng)用組件,主要用于和用戶交互。例如,圖庫類應(yīng)用可以在UIAbility組件中展示圖片瀑布流,在用戶選擇某個圖片后,在新的頁面中展示圖片的詳細內(nèi)容。同時用戶可以通過返回鍵返回到瀑布流頁面。UIAbility的生命周期只包含創(chuàng)建/銷毀/前臺/后臺等狀態(tài),與顯示相關(guān)的狀態(tài)通過WindowStage的事件暴露給開發(fā)者。

    • ExtensionAbility組件是一種面向特定場景的應(yīng)用組件。

  • WindowStage

    每個UIAbility類實例都會與一個WindowStage類實例綁定,該類提供了應(yīng)用進程內(nèi)窗口管理器的作用。它包含一個主窗口。也就是說UIAbility通過WindowStage持有了一個窗口,該窗口為ArkUI提供了繪制區(qū)域。

  • Context

    在Stage模型上,Context及其派生類向開發(fā)者提供在運行期可以調(diào)用的各種能力。UIAbility組件和各種ExtensionAbility派生類都有各自不同的Context類,他們都繼承自基類Context,但是各自又根據(jù)所屬組件,提供不同的能力。

  • AbilityStage

    每個Entry類型或者Feature類型的HAP在運行期都有一個AbilityStage類實例,當(dāng)HAP中的代碼首次被加載到進程中的時候,系統(tǒng)會先創(chuàng)建AbilityStage實例。每個在該HAP中定義的UIAbility類,在實例化后都會與該實例產(chǎn)生關(guān)聯(lián)。開發(fā)者可以使用AbilityStage獲取該HAP中UIAbility實例的運行時信息。

開發(fā)流程

基于Stage模型開發(fā)應(yīng)用時,在應(yīng)用模型部分,涉及如下開發(fā)過程。

表1 Stage模型開發(fā)流程

任務(wù)

簡介

相關(guān)指導(dǎo)

應(yīng)用組件開發(fā)

本章節(jié)介紹了如何使用Stage模型的UIAbility組件和ExtensionAbility組件開發(fā)應(yīng)用。

應(yīng)用/組件級配置

UIAbility組件

ExtensionAbility組件

AbilityStage組件容器

應(yīng)用上下文Context

了解進程模型

本章節(jié)介紹了Stage模型的進程模型以及幾種常用的進程間通信方式。

公共事件

了解線程模型

本章節(jié)介紹了Stage模型的線程模型以及幾種常用的線程間通信方式。

Emitter

Worker

應(yīng)用配置文件

本章節(jié)介紹Stage模型中應(yīng)用配置文件的開發(fā)要求。

Stage模型應(yīng)用配置文件

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號