W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
下圖展示了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)用組件。
每個UIAbility類實例都會與一個WindowStage類實例綁定,該類提供了應(yīng)用進程內(nèi)窗口管理器的作用。它包含一個主窗口。也就是說UIAbility通過WindowStage持有了一個窗口,該窗口為ArkUI提供了繪制區(qū)域。
在Stage模型上,Context及其派生類向開發(fā)者提供在運行期可以調(diào)用的各種能力。UIAbility組件和各種ExtensionAbility派生類都有各自不同的Context類,他們都繼承自基類Context,但是各自又根據(jù)所屬組件,提供不同的能力。
每個Entry類型或者Feature類型的HAP在運行期都有一個AbilityStage類實例,當(dāng)HAP中的代碼首次被加載到進程中的時候,系統(tǒng)會先創(chuàng)建AbilityStage實例。每個在該HAP中定義的UIAbility類,在實例化后都會與該實例產(chǎn)生關(guān)聯(lián)。開發(fā)者可以使用AbilityStage獲取該HAP中UIAbility實例的運行時信息。
基于Stage模型開發(fā)應(yīng)用時,在應(yīng)用模型部分,涉及如下開發(fā)過程。
表1 Stage模型開發(fā)流程
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: