精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙Stage模型--概述

王程 ? 來源:jf_75796907 ? 作者:jf_75796907 ? 2024-01-29 13:59 ? 次閱讀

Stage模型:HarmonyOS 3.1 Develper Preview版本開始新增的模型,是目前主推且會長期演進的模型。在該模型中,由于提供了AbilityStage、WindowStage等類作為應用組件和Window窗口的“舞臺”,因此稱這種應用模型為Stage模型。

設計思想

Stage模型之所以成為主推模型,源于其設計思想。Stage模型的設計基于如下出發點。

為復雜應用而設計

多個應用組件共享同一個ArkTS引擎(運行ArkTS語言的虛擬機)實例,應用組件之間可以方便的共享對象和狀態,同時減少復雜應用運行對內存的占用。
采用面向對象的開發方式,使得復雜應用代碼可讀性高、易維護性好、可擴展性強。

支持多設備和多窗口形態

應用組件管理和窗口管理在架構層面解耦:

便于系統對應用組件進行裁剪(無屏設備可裁剪窗口)。 便于系統擴展窗口形態。
在多設備(如桌面設備和移動設備)上,應用組件可使用同一套生命周期。

平衡應用能力和系統管控成本

Stage模型重新定義應用能力的邊界,平衡應用能力和系統管控成本。

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

概述

wKgZomW3Pp2AeKfvAAGuMXoEDSA429.png

wKgaomW3PsaAfd_KAAGuMXoEDSA169.png

UIAbility組件和ExtensionAbility組件

Stage模型提供UIAbility和ExtensionAbility兩種類型的組件,這兩種組件都有具體的類承載,支持面向對象的開發方式。

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

ExtensionAbility組件是一種面向特定場景的應用組件。

WindowStage

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

Context

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

AbilityStage

每個Entry類型或者Feature類型的HAP在運行期都有一個AbilityStage類實例,當HAP中的代碼首次被加載到進程中的時候,系統會先創建AbilityStage實例。每個在該HAP中定義的UIAbility類,在實例化后都會與該實例產生關聯。開發者可以使用AbilityStage獲取該HAP中UIAbility實例的運行時信息

應用與組件配置

在基于Stage模型開發的應用項目代碼下,都存在一個 app.json5 及一個或多個 module.json5 這兩種配置文件。

app.json5主要包含以下內容:

應用的全局配置信息,包含應用的包名、開發廠商、版本號等基本信息。

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

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

應用組件信息,包含UIAbility組件和ExtensionAbility組件的描述信息。

應用運行過程中所需的權限信息。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3029

    瀏覽量

    48345
  • 鴻蒙
    +關注

    關注

    56

    文章

    2267

    瀏覽量

    42480
  • HarmonyOS
    +關注

    關注

    79

    文章

    1946

    瀏覽量

    29732
收藏 人收藏

    評論

    相關推薦

    Stage 模型深入解讀

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

    鴻蒙OS開發案例:【Stage模型卡片】

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

    Stage模型深入解讀

    HarmonyOS 3.1版本(API 9)推出了全新應用開發模型-Stage模型,該模型重新定義了應用開發的能力邊界,從應用開發模型的角度
    發表于 03-15 10:32

    HarmonyOS/OpenHarmony應用開發- Stage模型概述

    UIAbility組件和ExtensionAbility組件 Stage模型提供UIAbility和ExtensionAbility兩種類型的組件,這兩種組件都有具體的類承載,支持面向對象
    發表于 05-25 17:44

    OpenHarmony應用模型的構成要素與Stage優勢

    應用開發更簡單、高效。 二、Stage主推模型優勢 Stage模型之所以成為主推模型,源于其設計思想。S
    發表于 09-26 16:48

    鴻蒙Stage模型和FA模型區別

    筆者這兩個月一直在折騰分布式應用,并且分別基于 API8 的 FA 模型以及 API9 的 Stage 模型進行了開發,這兩天總算是基本開發完了,閑下來總結下這兩者的區別,順便跟大家嘮嘮開發時踩過的坑。
    的頭像 發表于 01-04 11:59 ?2360次閱讀

    Stage模型深入解讀

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

    鴻蒙開發Ability Kit程序框架服務:FA模型Stage模型應用組件互通綜述

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

    鴻蒙開發Ability Kit程序框架服務:FA模型啟動Stage模型UIAbility

    本文介紹FA模型的三種應用組件如何啟動Stage模型的UIAbility組件。
    的頭像 發表于 06-25 16:00 ?259次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:FA<b class='flag-5'>模型</b>啟動<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>UIAbility

    鴻蒙開發Ability Kit程序框架服務:FA模型綁定Stage模型ServiceExtensionAbility

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

    鴻蒙開發Ability Kit程序框架服務:FA模型訪問Stage模型DataShareExtensionAbility

    無論FA模型還是Stage模型,數據讀寫功能都包含客戶端和服務端兩部分。
    的頭像 發表于 06-25 14:30 ?298次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:FA<b class='flag-5'>模型</b>訪問<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>DataShareExtensionAbility

    鴻蒙開發Ability Kit程序框架服務:Stage模型啟動FA模型PageAbility

    本小節介紹Stage模型的兩種應用組件如何啟動FA模型的PageAbility組件。
    的頭像 發表于 06-26 09:50 ?260次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>啟動FA<b class='flag-5'>模型</b>PageAbility

    鴻蒙開發Ability Kit程序框架服務:Stage模型綁定FA模型ServiceAbility

    本小節介紹Stage模型的兩種應用組件如何綁定FA模型ServiceAbility組件。
    的頭像 發表于 06-25 21:47 ?185次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>綁定FA<b class='flag-5'>模型</b>ServiceAbility

    鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型概述

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

    鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型指導 module的切換

    從FA模型切換到Stage模型時,開發者需要將config.json文件module標簽下的配置遷移到module.json5配置文件module標簽下,具體差異見下列表格。
    的頭像 發表于 06-27 14:16 ?292次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:FA<b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>指導 module的切換