官术网_书友最值得收藏!

1.3 HarmonyOS 3的新特性

HarmonyOS 3.1全新推出了應用開發Stage模型,并在ArkTS語言、應用程序框架、Web、ArkUI等子系統能力方面有所更新或增強。

HarmonyOS 3.1開放的功能包括:

· Ability框架新增Stage開發模型,包含Stage模型生命周期管理、調度、回調、上下文獲取、鑒權等。同時增強了應用的運行管理能力。

· ArkUI開發框架增強了聲明式Canvas/XComponent組件能力,增強了組件布局能力及狀態管理能力,優化了部分組件的易用性。

· 應用包管理新增查詢應用、Ability和ExtensionAbility相關屬性的接口。

· 公共基礎類庫新增支持Buffer二進制讀寫。

· Web服務新增支持文檔類Web應用的文檔預覽和基礎編輯功能,以及Cookie的管理和存儲管理。

· 圖形圖像新增支持YUV、WebP圖片編解碼等能力;新增Native Vsync能力,支持自繪制引擎自主控制渲染節奏。

· 媒體服務新增相機配置與預覽功能。

· 窗口服務新增Stage模型下窗口相關接口,增強了窗口旋轉能力,增強了避讓區域查詢能力。

· 全球化服務新增支持時區列表、音譯、電話號碼歸屬地等國際化增強能力。

· 公共事件基礎能力增強,commonEvent模塊變更為commonEventManager。

· 資源管理服務新增資源獲取的同步接口,新增基于名稱查詢資源值的接口,新增number、float資源類型查詢接口,新增Stage模型資源查詢方式。

· 輸入法服務新增輸入法光標方向常量。

1.3.1 Ability組件的生命周期

Ability生命周期切換以及和AbilityStage、WindowStage之間的調度關系如圖1-7所示。

圖1-7 Ability生命周期

Stage模型定義了Ability組件的生命周期,只包含創建、銷毀、前后臺等狀態,而將與界面強相關的獲焦、失焦狀態都放在WindowStage中,從而實現Ability與窗口之間的弱耦合;在服務側,窗口管理服務依賴于組件管理服務,前者通知后者前后臺變化,這樣組件管理服務僅感知前后臺變化,不感知焦點變化。

需要注意的是,在Ability中存在兩個與WindowStage相關的生命周期狀態,分別是onWindowStageCreate和onWindowStageDestroy,這兩個生命周期狀態的變化僅存在于具有顯示能力的設備中。前者表示WindowStage已經創建完成,開發者可以通過執行loadContent的操作設置Ability需要加載的頁面;后者在WindowStage銷毀后調用,以便開發者對資源進行釋放。

1.3.2 ArkUI開發框架

基于ArkTS的聲明式開發范式的方舟開發框架(ArkUI)是一套開發極簡、高性能、跨設備應用的UI開發框架,支持開發者高效地構建跨設備應用UI界面。

1.3.3 ArkTS編程語言

HarmonyOS提供了支持多種開發語言的API,供開發者進行應用開發,支持的開發語言包括ArkTS、JS(JavaScript)、C/C++、Java。

ArkTS是HarmonyOS優選的主力應用開發語言。ArkTS基于TypeScript(簡稱TS)語言擴展而來,是TS的超集。這也是ArkTS的原名叫eTS的原因,它是extend TypeScript的簡寫。

ArkTS繼承了TS的所有特性,并且ArkTS在TS基礎上還擴展了聲明式UI能力,讓開發者以更簡潔、更自然的方式開發高性能應用。

1.3.4 ExtensionAbility機制

不同于頁面展示的Ability,ExtensionAbility提供的是一種受限的運行環境。

ExtensionAbility組件具有如下特點:

· 運行在獨立于主進程的單獨進程中,與主進程無IPC(Inter-Process Communication,進程間通信),但共享一個存儲沙箱。

· 獨立的Context提供基于相應業務場景的API能力。

· 由系統觸發創建,應用不能直接創建。

· ExtensionAbility和進程的生命周期受系統管理。

主站蜘蛛池模板: 花垣县| 崇信县| 阳朔县| 分宜县| 游戏| 安吉县| 吉安市| 册亨县| 嘉义市| 个旧市| 丰原市| 江西省| 新余市| 枣庄市| 理塘县| 南华县| 新丰县| 涟水县| 侯马市| 府谷县| 岑巩县| 莱芜市| 太康县| 临澧县| 额尔古纳市| 铜山县| 扶余县| 安徽省| 军事| 册亨县| 太谷县| 贵阳市| 张家川| 岑溪市| 和静县| 抚顺县| 石门县| 博白县| 华蓥市| 兴仁县| 定边县|