成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析Ability框架中Stage模型與FA模型的差異

數據庫 MySQL
Ability是應用所具備能力的抽象,也是應用程序的基本組成單元。OpenHarmony與HarmonyOS的應用程序APP由一個或多個Hap包組成,每個Hap可以包含一個或多個Ability。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

Aility框架概述

Ability是應用所具備能力的抽象,也是應用程序的基本組成單元。OpenHarmony與HarmonyOS的應用程序APP由一個或多個Hap包組成,每個Hap可以包含一個或多個Ability。

Ability框架模型具有兩種形態,FA模型?以及Stage模型:

#打卡不停更#【FFH】淺析Ability框架中Stage模型與FA模型的差異-開源基礎軟件社區

  • FA模型:OpenHarmony API 8及其更早版本的應用程序只能使用FA模型進行開發。FA模型將Ability分為FA(Feature Ability)和PA(Particle Ability)兩種類型,其中FA支持Page Ability,PA支持Service Ability、Data Ability、以及FormAbility。

#打卡不停更#【FFH】淺析Ability框架中Stage模型與FA模型的差異-開源基礎軟件社區

  • Stage模型:從OpenHarmony API 9開始,Ability框架引入了Stage模型作為第二種應用框架形態,Stage模型將Ability分為PageAbility和ExtensionAbility兩大類,其中ExtensionAbility又被擴展為ServiceExtensionAbility、FormExtensionAbility、DataShareExtensionAbility等一系列ExtensionAbility,以便滿足更多的使用場景。

#打卡不停更#【FFH】淺析Ability框架中Stage模型與FA模型的差異-開源基礎軟件社區

Stage模型比較新,其被設計出來就是為了讓開發者能更加方便地開發出分布式環境的復雜應用,下表是官方給出的兩種模型的設計差異:

#打卡不停更#【FFH】淺析Ability框架中Stage模型與FA模型的差異-開源基礎軟件社區

從表中可以看到,從界面UI開發上來看,兩者的區別不大。

FA模型的設計特點就是每個Ability都是小單元,每個小單元之間都是存在隔閡的,這樣可以讓開發者專注于定制每個Ability的特定能力,這樣在簡單場景下,應用的Ability結構會比較清晰明確。

FA模型與Stage模型差異對比

進程差異

單看每個進程,可以發現在FA中一個Ability只允許綁定一個JS VM(JavaScript虛擬機)引擎,Stage模型中每個進程內的JS VM引擎可以被多個Ability共享,而JS VM(JavaScript虛擬機)引擎的作用可以簡單理解為讀取應用中的JavaScript代碼,然后進行相應處理,起到一個解釋器的作用,讓底層可以讀懂開發人員寫的代碼,所以Stage模型同一個進程內的不同Ability之間是存在更多打破隔閡的可能性,涉及到同一個進程內多個Ability直接的交互開發時,性能也會更高,同時支持了一個非常重要的特性,就是進程內可以共享對象,這意味著開發者不需要考慮線程之間的對象共享,只需要聚焦在分布式的交互場景上。

#打卡不停更#【FFH】淺析Ability框架中Stage模型與FA模型的差異-開源基礎軟件社區

生命周期間差異

#打卡不停更#【FFH】淺析Ability框架中Stage模型與FA模型的差異-開源基礎軟件社區

生命周期的差異主要是圈起來的地方,也是就Ability從后臺和前臺之前切換的過程,FA模型中該部分比較簡單,只有4個回調函數,大家看圖也可以理解。

#打卡不停更#【FFH】淺析Ability框架中Stage模型與FA模型的差異-開源基礎軟件社區

而在Stage模型中,設計者將Ability組件與窗口之間進行了弱耦合,引入了WindowStage(本地窗口管理器)的概念,WindowStage主要用于處理界面獲焦狀態(前臺),以及失焦狀態(后臺),這樣中間層Ability只需要感知前后臺變化,而不需感知焦點變化,從而實現Ability組件和窗口之間的解耦。

解耦的目的就是為了支持多種設備形態和更易于實現多種不同的窗口形態,從而方便裁剪,更有利于定制不同的窗口形態。

組件間差異

從組件上來看,FA模型的Ability組件類型比較固定,而Stage模型的Ability組件類型具備拓展性。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??。

責任編輯:jianghua 來源: 51CTO開源基礎軟件社區
相關推薦

2022-12-26 11:24:28

鴻蒙Stage模型

2022-08-28 20:50:29

算法模型機器學習

2022-09-07 15:28:02

Stage模型Ability

2010-08-02 09:12:18

云計算安全模型

2024-12-09 10:18:37

2021-06-29 09:34:00

洋蔥模型中間件

2024-09-09 07:46:16

2011-06-20 15:13:08

Qt 對象模型

2020-09-23 14:20:07

Kubernetes容器網絡模型

2025-03-31 01:30:00

Gin框架模型

2017-07-07 16:36:28

BIOIO模型 NIO

2009-09-15 10:12:37

LINQ To SQL

2022-09-08 15:18:51

Ability鴻蒙

2024-02-19 07:40:10

2025-04-29 08:09:39

2012-01-17 17:21:24

JavaSwing

2010-01-25 14:18:46

C++對象模型

2011-05-24 11:20:53

OTNWSSFOADM

2021-06-11 10:41:36

大數據安全數據保護數據安全

2010-11-16 08:48:45

SQL ServerOracle
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品久久久久久久不卡四虎 | 欧美精品一区二区三区一线天视频 | 色婷婷在线视频 | 日韩视频区 | 国产欧美视频一区二区 | 成人在线免费观看av | 精品乱码一区二区三四区 | 日本在线你懂的 | 亚洲综合视频 | av在线三级 | 一级黄a视频 | 99综合| 亚洲精品视频在线 | 91精产国品一二三区 | 日本a视频| 日本一区二区三区在线观看 | www.788.com色淫免费| 久久久久久国产精品 | 亚洲一区二区三区在线播放 | 欧美黄色一区 | 国产高清免费 | 91精品久久久久久久久久 | 蜜桃一区| 激情av在线 | 成人免费视频观看视频 | 日日操日日干 | 一级黄色毛片免费 | 色婷婷综合久久久中字幕精品久久 | 伊人操| 在线观看av不卡 | 国产精品久久久久久妇女6080 | 欧美国产在线一区 | 亚洲一区二区三区欧美 | 中文字字幕一区二区三区四区五区 | www.国产91| 北条麻妃99精品青青久久主播 | 久久精品国产一区二区电影 | 男女激情网站免费 | 女同久久| 国产一区二区精 | 三极网站 |