日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
淺析Ability框架中Stage模型與FA模型的差異

??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??

創(chuàng)新互聯(lián)建站專注于企業(yè)全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、順義網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、商城系統(tǒng)網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為順義等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

?? 開(kāi)源基礎(chǔ)軟件社區(qū)??

??https://ost.??

Aility框架概述

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

Ability框架模型具有兩種形態(tài),F(xiàn)A模型?以及Stage模型:

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

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

Stage模型比較新,其被設(shè)計(jì)出來(lái)就是為了讓開(kāi)發(fā)者能更加方便地開(kāi)發(fā)出分布式環(huán)境的復(fù)雜應(yīng)用,下表是官方給出的兩種模型的設(shè)計(jì)差異:

從表中可以看到,從界面UI開(kāi)發(fā)上來(lái)看,兩者的區(qū)別不大。

FA模型的設(shè)計(jì)特點(diǎn)就是每個(gè)Ability都是小單元,每個(gè)小單元之間都是存在隔閡的,這樣可以讓開(kāi)發(fā)者專注于定制每個(gè)Ability的特定能力,這樣在簡(jiǎn)單場(chǎng)景下,應(yīng)用的Ability結(jié)構(gòu)會(huì)比較清晰明確。

FA模型與Stage模型差異對(duì)比

進(jìn)程差異

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

生命周期間差異

生命周期的差異主要是圈起來(lái)的地方,也是就Ability從后臺(tái)和前臺(tái)之前切換的過(guò)程,F(xiàn)A模型中該部分比較簡(jiǎn)單,只有4個(gè)回調(diào)函數(shù),大家看圖也可以理解。

而在Stage模型中,設(shè)計(jì)者將Ability組件與窗口之間進(jìn)行了弱耦合,引入了WindowStage(本地窗口管理器)的概念,WindowStage主要用于處理界面獲焦?fàn)顟B(tài)(前臺(tái)),以及失焦?fàn)顟B(tài)(后臺(tái)),這樣中間層Ability只需要感知前后臺(tái)變化,而不需感知焦點(diǎn)變化,從而實(shí)現(xiàn)Ability組件和窗口之間的解耦。

解耦的目的就是為了支持多種設(shè)備形態(tài)和更易于實(shí)現(xiàn)多種不同的窗口形態(tài),從而方便裁剪,更有利于定制不同的窗口形態(tài)。

組件間差異

從組件上來(lái)看,F(xiàn)A模型的Ability組件類型比較固定,而Stage模型的Ability組件類型具備拓展性。

??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??

?? 開(kāi)源基礎(chǔ)軟件社區(qū)??

??https://ost.??。


本文標(biāo)題:淺析Ability框架中Stage模型與FA模型的差異
本文來(lái)源:http://www.dlmjj.cn/article/dpeophh.html