一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙Stage模型--概述

王程 ? 來(lái)源:jf_75796907 ? 作者:jf_75796907 ? 2024-01-29 13:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Stage模型:HarmonyOS 3.1 Develper Preview版本開(kāi)始新增的模型,是目前主推且會(huì)長(zhǎng)期演進(jìn)的模型。在該模型中,由于提供了AbilityStage、WindowStage等類作為應(yīng)用組件和Window窗口的“舞臺(tái)”,因此稱這種應(yīng)用模型為Stage模型。

設(shè)計(jì)思想

Stage模型之所以成為主推模型,源于其設(shè)計(jì)思想。Stage模型的設(shè)計(jì)基于如下出發(fā)點(diǎn)。

為復(fù)雜應(yīng)用而設(shè)計(jì)

多個(gè)應(yīng)用組件共享同一個(gè)ArkTS引擎(運(yùn)行ArkTS語(yǔ)言的虛擬機(jī))實(shí)例,應(yīng)用組件之間可以方便的共享對(duì)象和狀態(tài),同時(shí)減少?gòu)?fù)雜應(yīng)用運(yùn)行對(duì)內(nèi)存的占用。
采用面向?qū)ο蟮拈_(kāi)發(fā)方式,使得復(fù)雜應(yīng)用代碼可讀性高、易維護(hù)性好、可擴(kuò)展性強(qiáng)。

支持多設(shè)備和多窗口形態(tài)

應(yīng)用組件管理和窗口管理在架構(gòu)層面解耦:

便于系統(tǒng)對(duì)應(yīng)用組件進(jìn)行裁剪(無(wú)屏設(shè)備可裁剪窗口)。 便于系統(tǒng)擴(kuò)展窗口形態(tài)。
在多設(shè)備(如桌面設(shè)備和移動(dòng)設(shè)備)上,應(yīng)用組件可使用同一套生命周期。

平衡應(yīng)用能力和系統(tǒng)管控成本

Stage模型重新定義應(yīng)用能力的邊界,平衡應(yīng)用能力和系統(tǒng)管控成本。

提供特定場(chǎng)景(如卡片、輸入法)的應(yīng)用組件,以便滿足更多的使用場(chǎng)景。
規(guī)范化后臺(tái)進(jìn)程管理:為保障用戶體驗(yàn),Stage模型對(duì)后臺(tái)應(yīng)用進(jìn)程進(jìn)行了有序治理,應(yīng)用程序不能隨意駐留在后臺(tái),同時(shí)應(yīng)用后臺(tái)行為受到嚴(yán)格管理,防止惡意應(yīng)用行為。

概述

wKgZomW3Pp2AeKfvAAGuMXoEDSA429.png

wKgaomW3PsaAfd_KAAGuMXoEDSA169.png

UIAbility組件和ExtensionAbility組件

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

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

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

WindowStage

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

Context

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

AbilityStage

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

應(yīng)用與組件配置

在基于Stage模型開(kāi)發(fā)的應(yīng)用項(xiàng)目代碼下,都存在一個(gè) app.json5 及一個(gè)或多個(gè) module.json5 這兩種配置文件。

app.json5主要包含以下內(nèi)容:

應(yīng)用的全局配置信息,包含應(yīng)用的包名、開(kāi)發(fā)廠商、版本號(hào)等基本信息。

特定設(shè)備類型的配置信息。
module.json5主要包含以下內(nèi)容:

Module的基本配置信息,例如Module名稱、類型、描述、支持的設(shè)備類型等基本信息。

應(yīng)用組件信息,包含UIAbility組件和ExtensionAbility組件的描述信息。

應(yīng)用運(yùn)行過(guò)程中所需的權(quán)限信息。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3519

    瀏覽量

    50414
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2618

    瀏覽量

    44038
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33019
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Stage 模型深入解讀

    HarmonyOS 3.1 版本(API 9)推出了全新應(yīng)用開(kāi)發(fā)模型 - Stage 模型,該模型重新定義了應(yīng)用開(kāi)發(fā)的能力邊界,從應(yīng)用開(kāi)發(fā)模型
    的頭像 發(fā)表于 02-18 09:28 ?1775次閱讀
    <b class='flag-5'>Stage</b> <b class='flag-5'>模型</b>深入解讀

    鴻蒙OS開(kāi)發(fā)案例:【Stage模型卡片】

    本示例展示了Stage模型卡片提供方的創(chuàng)建與使用。
    的頭像 發(fā)表于 04-09 17:13 ?1278次閱讀
    <b class='flag-5'>鴻蒙</b>OS開(kāi)發(fā)案例:【<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>卡片】

    FA模型訪問(wèn)Stage模型DataShareExtensionAbility說(shuō)明

    FA模型訪問(wèn)Stage模型DataShareExtensionAbility 概述 無(wú)論FA模型還是
    發(fā)表于 06-04 07:53

    如何將一個(gè)FA模型開(kāi)發(fā)的聲明式范式應(yīng)用切換到Stage模型

    模型切換概述 本文介紹如何將一個(gè)FA模型開(kāi)發(fā)的聲明式范式應(yīng)用切換到Stage模型,您需要完成如下動(dòng)作: 工程切換:新建一個(gè)
    發(fā)表于 06-04 06:22

    從FA模型切換到Stage模型時(shí):module的切換說(shuō)明

    module的切換 從FA模型切換到Stage模型時(shí),開(kāi)發(fā)者需要將config.json文件module標(biāo)簽下的配置遷移到module.json5配置文件module標(biāo)簽下,具體差異
    發(fā)表于 06-05 08:16

    FA模型Stage模型API切換概述

    API切換概述 FA模型Stage模型由于線程模型和進(jìn)程模型的差異,部分接口僅在FA
    發(fā)表于 06-06 06:29

    鴻蒙Stage模型和FA模型區(qū)別

    筆者這兩個(gè)月一直在折騰分布式應(yīng)用,并且分別基于 API8 的 FA 模型以及 API9 的 Stage 模型進(jìn)行了開(kāi)發(fā),這兩天總算是基本開(kāi)發(fā)完了,閑下來(lái)總結(jié)下這兩者的區(qū)別,順便跟大家嘮嘮開(kāi)發(fā)時(shí)踩過(guò)的坑。
    的頭像 發(fā)表于 01-04 11:59 ?3301次閱讀

    Stage模型深入解讀

    作者:sunbingxin 應(yīng)用框架架構(gòu)師 HarmonyOS 3.1版本(API 9)推出了全新應(yīng)用開(kāi)發(fā)模型-Stage模型,該模型重新定義了應(yīng)用開(kāi)發(fā)的能力邊界,從應(yīng)用開(kāi)發(fā)
    的頭像 發(fā)表于 03-16 13:35 ?1387次閱讀

    鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型Stage模型應(yīng)用組件互通綜述

    FA模型Stage模型是兩套不同的應(yīng)用模型,他們擁有各自的組件。FA模型提供三種應(yīng)用組件,分別是PageAbility、ServiceAb
    的頭像 發(fā)表于 06-24 16:43 ?998次閱讀
    <b class='flag-5'>鴻蒙</b>開(kāi)發(fā)Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>與<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>應(yīng)用組件互通綜述

    鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型啟動(dòng)Stage模型UIAbility

    本文介紹FA模型的三種應(yīng)用組件如何啟動(dòng)Stage模型的UIAbility組件。
    的頭像 發(fā)表于 06-25 16:00 ?668次閱讀
    <b class='flag-5'>鴻蒙</b>開(kāi)發(fā)Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>啟動(dòng)<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>UIAbility

    鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型綁定Stage模型ServiceExtensionAbility

    本文介紹FA模型的三種應(yīng)用組件如何綁定Stage模型的ServiceExtensionAbility組件。
    的頭像 發(fā)表于 06-25 10:43 ?556次閱讀
    <b class='flag-5'>鴻蒙</b>開(kāi)發(fā)Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>綁定<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>ServiceExtensionAbility

    鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):Stage模型啟動(dòng)FA模型PageAbility

    本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何啟動(dòng)FA模型的PageAbility組件。
    的頭像 發(fā)表于 06-26 09:50 ?679次閱讀
    <b class='flag-5'>鴻蒙</b>開(kāi)發(fā)Ability Kit程序框架服務(wù):<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>啟動(dòng)FA<b class='flag-5'>模型</b>PageAbility

    鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):Stage模型綁定FA模型ServiceAbility

    本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何綁定FA模型ServiceAbility組件。
    的頭像 發(fā)表于 06-25 21:47 ?572次閱讀
    <b class='flag-5'>鴻蒙</b>開(kāi)發(fā)Ability Kit程序框架服務(wù):<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>綁定FA<b class='flag-5'>模型</b>ServiceAbility

    鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型概述

    本文介紹如何將一個(gè)FA模型開(kāi)發(fā)的聲明式范式應(yīng)用切換到Stage模型
    的頭像 發(fā)表于 06-26 14:40 ?634次閱讀
    <b class='flag-5'>鴻蒙</b>開(kāi)發(fā)Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b><b class='flag-5'>概述</b>

    鴻蒙Stage模型與FA模型詳解

    【HarmonyOS 5】鴻蒙Stage模型與FA模型詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
    的頭像 發(fā)表于 07-07 11:50 ?166次閱讀