W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
下圖展示了Stage模型中的基本概念。
圖1 Stage模型概念圖
UIAbility組件和ExtensionAbility組件
Stage模型提供UIAbility和ExtensionAbility兩種類(lèi)型的組件,這兩種組件都有具體的類(lèi)承載,支持面向?qū)ο蟮拈_(kāi)發(fā)方式。
UIAbility組件是一種包含UI界面的應(yīng)用組件,主要用于和用戶(hù)交互。例如,圖庫(kù)類(lèi)應(yīng)用可以在UIAbility組件中展示圖片瀑布流,在用戶(hù)選擇某個(gè)圖片后,在新的頁(yè)面中展示圖片的詳細(xì)內(nèi)容。同時(shí)用戶(hù)可以通過(guò)返回鍵返回到瀑布流頁(yè)面。UIAbility的生命周期只包含創(chuàng)建/銷(xiāo)毀/前臺(tái)/后臺(tái)等狀態(tài),與顯示相關(guān)的狀態(tài)通過(guò)WindowStage的事件暴露給開(kāi)發(fā)者。
ExtensionAbility組件是一種面向特定場(chǎng)景的應(yīng)用組件。
每個(gè)UIAbility類(lèi)實(shí)例都會(huì)與一個(gè)WindowStage類(lèi)實(shí)例綁定,該類(lèi)提供了應(yīng)用進(jìn)程內(nèi)窗口管理器的作用。它包含一個(gè)主窗口。也就是說(shuō)UIAbility通過(guò)WindowStage持有了一個(gè)窗口,該窗口為ArkUI提供了繪制區(qū)域。
在Stage模型上,Context及其派生類(lèi)向開(kāi)發(fā)者提供在運(yùn)行期可以調(diào)用的各種能力。UIAbility組件和各種ExtensionAbility派生類(lèi)都有各自不同的Context類(lèi),他們都繼承自基類(lèi)Context,但是各自又根據(jù)所屬組件,提供不同的能力。
每個(gè)Entry類(lèi)型或者Feature類(lèi)型的HAP在運(yùn)行期都有一個(gè)AbilityStage類(lèi)實(shí)例,當(dāng)HAP中的代碼首次被加載到進(jìn)程中的時(shí)候,系統(tǒng)會(huì)先創(chuàng)建AbilityStage實(shí)例。每個(gè)在該HAP中定義的UIAbility類(lèi),在實(shí)例化后都會(huì)與該實(shí)例產(chǎn)生關(guān)聯(lián)。開(kāi)發(fā)者可以使用AbilityStage獲取該HAP中UIAbility實(shí)例的運(yùn)行時(shí)信息。
基于Stage模型開(kāi)發(fā)應(yīng)用時(shí),在應(yīng)用模型部分,涉及如下開(kāi)發(fā)過(guò)程。
表1 Stage模型開(kāi)發(fā)流程
任務(wù) | 簡(jiǎn)介 | 相關(guān)指導(dǎo) |
---|---|---|
應(yīng)用組件開(kāi)發(fā) | 本章節(jié)介紹了如何使用Stage模型的UIAbility組件和ExtensionAbility組件開(kāi)發(fā)應(yīng)用。 | |
了解進(jìn)程模型 | 本章節(jié)介紹了Stage模型的進(jìn)程模型以及幾種常用的進(jìn)程間通信方式。 | - 公共事件 |
了解線程模型 | 本章節(jié)介紹了Stage模型的線程模型以及幾種常用的線程間通信方式。 | - Emitter - Worker |
應(yīng)用配置文件 | 本章節(jié)介紹Stage模型中應(yīng)用配置文件的開(kāi)發(fā)要求。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: