OpenHarmony 4.0 Release版本發(fā)布,應(yīng)用開發(fā)能力更豐富

近日,OpenHarmony 4.0 Release版本如期發(fā)布,開發(fā)套件同步升級(jí)到API 10。相比3.2 Release版本,OpenHarmony 4.0 Release版本新增4000+個(gè)API,應(yīng)用開發(fā)能力更加豐富;HDF新增200+個(gè)HDI接口,硬件適配更加便捷;持續(xù)優(yōu)化圖形框架、方舟編譯器(ArkCompiler)、ArkUI組件定制化能力和組件動(dòng)效能力,用戶交互體驗(yàn)得到進(jìn)一步提升;分布式硬件支持的范圍擴(kuò)大到音頻和輸入領(lǐng)域;分布式數(shù)據(jù)為開發(fā)者數(shù)據(jù)分享帶來了全新的統(tǒng)一數(shù)據(jù)管理框架。另外,該版本在媒體、安全和隱私保護(hù)等方面也得到了進(jìn)一步增強(qiáng)。以下為部分特性更新:

圖形框架及窗口

圖形

穩(wěn)定流暢:

對(duì)統(tǒng)一渲染模式進(jìn)行了性能優(yōu)化,包含基于共享內(nèi)存的IPC性能優(yōu)化、基于遮擋剔除和緩存等技術(shù)的渲染性能優(yōu)化、基于硬件合成器能力的能效提升等。

圖形處理依賴的渲染庫(kù)升級(jí)至Skia 0310新版本,提升了渲染性能。

極致動(dòng)效:

支持組件自繪制內(nèi)容的屬性動(dòng)畫。支持組件設(shè)置出現(xiàn)和消失的轉(zhuǎn)場(chǎng)動(dòng)畫。

支持取色能力,支持漸變模糊,支持邊緣像素?cái)U(kuò)展,支持漸亮效果,支持多種模糊材質(zhì)能力。

圖片能力增強(qiáng):

圖片編解碼能力增強(qiáng):支持SVG格式圖片解碼,ico格式圖片解碼,GIF增量解碼,jpeg_IDCT縮放解碼,png圖片編碼,圖片exif信息拓展。

圖片接口能力增強(qiáng):支持Pixelmap JS側(cè)的序列化反序列化,提供ImageReceiver和圖片解碼NDK接口。

窗口

支持監(jiān)聽窗口的獲焦?fàn)顟B(tài),可以監(jiān)聽單個(gè)窗口的獲焦、失焦和顯示隱藏狀態(tài)。

支持應(yīng)用將子窗口z軸順序調(diào)整到當(dāng)前應(yīng)用窗口中的頂層。

支持查詢屏幕的顯示模式(鏡像、擴(kuò)展),提供停止鏡像和停止擴(kuò)展API。

優(yōu)化了display模塊的參數(shù)值獲取方式,從原先軟件方式優(yōu)化為從硬件直接獲取真實(shí)值。

支持通過窗口設(shè)置將屏幕亮度恢復(fù)默認(rèn)值。

重構(gòu)沉浸式實(shí)現(xiàn)方式,優(yōu)化應(yīng)用打開、退出、跳轉(zhuǎn)下的動(dòng)畫效果。

ArkCompiler

高級(jí)語言調(diào)試調(diào)優(yōu):

熱重載性能優(yōu)化,支持多hap等場(chǎng)景。

支持多實(shí)例調(diào)優(yōu)。

高級(jí)語言并發(fā)增強(qiáng):

TaskPool支持任務(wù)中斷和取消,支持定義任務(wù)組(TaskGroup),支持對(duì)任務(wù)的狀態(tài)和調(diào)度信息進(jìn)行打點(diǎn),支持超長(zhǎng)等待的任務(wù)進(jìn)行識(shí)別和恢復(fù)。

TaskPool支持優(yōu)先級(jí)設(shè)置及自動(dòng)擴(kuò)縮容算法。

高級(jí)語言優(yōu)化編譯:

正式定義ArkTS語法規(guī)則并新增ArkTS語法檢查,在使用DevEco Studio進(jìn)行代碼編譯時(shí)會(huì)對(duì)不符合ArkTS語法規(guī)則的代碼進(jìn)行告警。

AOT優(yōu)化編譯支持端側(cè)閑時(shí)編譯,增強(qiáng)編譯優(yōu)化進(jìn)一步提升性能。

PGO支持采集運(yùn)行期的類型和函數(shù)熱點(diǎn)信息,支持AOT優(yōu)化編譯JS代碼,提升動(dòng)態(tài)JS代碼的運(yùn)行性能。

應(yīng)用框架

Stage模型新增6類Extension,并完善了以下特性:

新增Extension能力最小化管理,支持各類Extension滿足業(yè)務(wù)場(chǎng)景需要。

新增UIExtension機(jī)制,用于實(shí)現(xiàn)有界面的Extension,UIExtension的界面可以通過UIExtension組件的方式嵌入到調(diào)用方應(yīng)用的窗口上顯示。

支持原生默認(rèn)的Extension界面展示,方便開發(fā)者快速實(shí)現(xiàn)Extension功能,同時(shí)也提供界面定制能力。

提供自定義操作業(yè)務(wù)的ActionExtension、分享業(yè)務(wù)的ShareExtension、備份恢復(fù)業(yè)務(wù)的BackupExtension、驅(qū)動(dòng)業(yè)務(wù)的DriverExtension、打印業(yè)務(wù)的PrintExtension。

ArkTS卡片能力增強(qiáng),支持靜態(tài)卡片配置、靜態(tài)圖展示,有效降低卡片內(nèi)存資源占用,支持通過數(shù)據(jù)代理的方式刷新內(nèi)容,有效降低卡片功耗。

支持元服務(wù)的分享,應(yīng)用開發(fā)者可以使用UIAbility組件提供的UIAbility.onShare()生命周期方法,設(shè)置要分享的數(shù)據(jù)。用戶可以通過分享框把元服務(wù)和卡片分享到另外一臺(tái)終端設(shè)備。

跨端遷移能力增強(qiáng),支持調(diào)用接口來動(dòng)態(tài)打開和關(guān)閉遷移能力。應(yīng)用可動(dòng)態(tài)選擇遷移成功后是否遷移頁(yè)面棧,以及源端是否退出。

ArkUI

基礎(chǔ)組件增加或增強(qiáng):

新增UIExtension組件,用于將一個(gè)應(yīng)用通過UIExtensionAblity的方式,嵌入顯示到另一個(gè)應(yīng)用內(nèi)。

繪制組件Rect/Circle/Ellipse/Line/Polyline/Polygon/Path/Rect/Shape支持偏移、裁剪、遮罩等通用屬性,增強(qiáng)繪制組件基礎(chǔ)功能。

自定義彈框支持蒙層顏色及彈出動(dòng)畫自定義,如允許設(shè)置彈出動(dòng)畫效果的相關(guān)參數(shù),增強(qiáng)彈框的開發(fā)者自定義功能。

ColumnSplit分隔線支持可拖動(dòng),增強(qiáng)組件基礎(chǔ)功能。

Refresh組件支持自定義下拉刷新能力,允許設(shè)置下拉刷新時(shí)的顯示內(nèi)容,增強(qiáng)組件基礎(chǔ)能力。

支持文本組件中返回輸入字符串的寬高,用于字符串折疊顯示時(shí),鼠標(biāo)懸浮可彈出字符串完整提示框,增強(qiáng)文本組件基礎(chǔ)功能。

ArkTS/JS卡片支持UI渲染完成的回調(diào),方便獲取渲染完成的狀態(tài)并進(jìn)行下一步處理。

基礎(chǔ)組件特性增強(qiáng),提升終端用戶的體驗(yàn),包括彈框支持通過鍵盤ESC鍵逐層退出、ListItem支持長(zhǎng)距離左滑刪除手勢(shì)、ContextMenu支持分段顯示能力等。

半模態(tài)組件支持設(shè)置高度自適應(yīng)。

動(dòng)畫效果增加或增強(qiáng):

支持組件屬性變化的過渡動(dòng)效,如組件的尺寸、背景色、透明度等屬性發(fā)生變化時(shí)通過過渡動(dòng)效銜接變化前后的狀態(tài),提升組件屬性變化時(shí)的動(dòng)畫體驗(yàn)。

支持給組件設(shè)置球面高階屬性、下邊緣像素?cái)U(kuò)展、取色模糊、G2圓角、陰影、漸變等高階圖形屬性,豐富高階動(dòng)畫效果。

布局屬性、背景圖片大小位置屬性、顯隱屬性支持隱式動(dòng)效。

List新增支持scrollToIndex動(dòng)效、Tasb模糊動(dòng)效、Popup出現(xiàn)/消失動(dòng)效。

支持自定義動(dòng)畫,滿足多種多樣的動(dòng)畫訴求。

分布式數(shù)據(jù)管理

DataShare客戶端提供按URI前綴訂閱DataShareExtension數(shù)據(jù)變化的能力,被訂閱的URI前綴下任何DataShareExtension數(shù)據(jù)發(fā)生變化都會(huì)通知DataShare客戶端。

新增統(tǒng)一數(shù)據(jù)管理框架(Unified Data Management Framework, UDMF),支持?jǐn)?shù)據(jù)標(biāo)準(zhǔn)化模型、設(shè)備內(nèi)數(shù)據(jù)拖拽、UDMF數(shù)據(jù)存儲(chǔ)適配、權(quán)限管理、生命周期管理。UDMF框架下支持應(yīng)用的跨設(shè)備拖拽,在此過程中允許對(duì)分布式目錄中的文件臨時(shí)授權(quán)。

提供RDBstore NDK接口 :包含增/刪/改/查/事務(wù)、數(shù)據(jù)加密、數(shù)據(jù)分級(jí)保護(hù)、備份/恢復(fù)能力。

Key-Value和分布式數(shù)據(jù)對(duì)象支持根據(jù)數(shù)據(jù)量自動(dòng)選擇數(shù)據(jù)同步的通道。系統(tǒng)會(huì)根據(jù)數(shù)據(jù)量大小自動(dòng)選擇藍(lán)牙通道或基于Wi-Fi的P2P通道進(jìn)行數(shù)據(jù)的同步。

文件管理

支持文件分類視圖管理能力,圖庫(kù)等應(yīng)用以相冊(cè)方式管理媒體文件(圖片、視頻無需關(guān)注具體存儲(chǔ)位置),相冊(cè)內(nèi)添加、移除文件等功能不涉及具體的File IO行為。支持三方應(yīng)用通過PhotoAccessHelper接口獲取相冊(cè)列表,訪問相冊(cè)內(nèi)圖片、視頻等文件。

提供增強(qiáng)的FileIO訪問能力,支持randomAccessFile、moveDir、copyDir能力。

提供基于URI的文件臨時(shí)授權(quán)訪問及取消授權(quán)能力,支持文件的跨應(yīng)用本地授權(quán)或跨設(shè)備授權(quán)。

支持公共圖片文件在設(shè)備端和云端進(jìn)行同步(設(shè)備登錄的帳號(hào)需開通云端服務(wù)),支持通過picker選擇云端的圖片。

應(yīng)用包管理

支持應(yīng)用安裝包免解壓特性,優(yōu)化系統(tǒng)啟動(dòng)性能和應(yīng)用安裝性能。

支持應(yīng)用、元服務(wù)數(shù)據(jù)共享,在應(yīng)用安裝時(shí),解析證書文件中的data-group-ids列表,建立映射關(guān)系,創(chuàng)建數(shù)據(jù)共享路徑,實(shí)現(xiàn)應(yīng)用與元服務(wù)數(shù)據(jù)共享。

支持應(yīng)用安裝時(shí)設(shè)置分發(fā)類型和附加信息,提供ArkTS接口實(shí)現(xiàn)應(yīng)用分發(fā)類型和附加信息的設(shè)置和查詢。

支持企業(yè)應(yīng)用,提供企業(yè)MDM應(yīng)用和企業(yè)normal應(yīng)用的安裝,以及對(duì)企業(yè)應(yīng)用的管理和吊銷。

支持overlay能力,針對(duì)不同產(chǎn)品的顯示風(fēng)格,開發(fā)者可以在不重新編譯打包情況下,新增資源文件overlay包,實(shí)現(xiàn)應(yīng)用界面風(fēng)格變換。

支持so文件不解壓使用,即不解壓so文件到單獨(dú)目錄,運(yùn)行期直接從包中讀取加載so文件,提升安裝速度和減少占用的ROM空間。

WebView

W3C能力補(bǔ)充完善:補(bǔ)充Web camere能力,以及bindContextMenu、Select、date類型input等H5標(biāo)簽?zāi)芰Α?/p>

支持多渲染進(jìn)程的進(jìn)程拆分。

支持文字、圖片基礎(chǔ)拖拽能力。

支持WebRTC的視頻會(huì)議能力(不含攝像頭共享)。

支持渲染進(jìn)程獨(dú)立SELinux標(biāo)簽,增強(qiáng)安全基礎(chǔ)能力。

支持識(shí)別Web組件渲染進(jìn)程、顯示線程和場(chǎng)景信息,并通知系統(tǒng)資源調(diào)度進(jìn)行CPU管控。

測(cè)試

測(cè)試框架arkxtest

支持自動(dòng)化腳本測(cè)試套嵌套定義能力,提升開發(fā)者腳本設(shè)計(jì)靈活性。

支持對(duì)象級(jí)斷言能力,提升測(cè)試腳本斷言能力。

支持模擬中文輸入、模擬鼠標(biāo)操作、區(qū)域截圖的能力。

自測(cè)試執(zhí)行框架developer_test

支持測(cè)試任務(wù)管理能力,開發(fā)者通過任務(wù)ID執(zhí)行歷史任務(wù),提升開發(fā)者自測(cè)試效率。

支持精準(zhǔn)測(cè)試能力,支持子系統(tǒng)、部件、測(cè)試套、測(cè)試用例級(jí)測(cè)試用例篩選執(zhí)行能力,提升開發(fā)者自測(cè)試效率。

支持對(duì)接執(zhí)行hats用例,豐富執(zhí)行用例范圍。

支持穩(wěn)定性測(cè)試能力,支持測(cè)試用例亂序執(zhí)行。

支持覆蓋率統(tǒng)計(jì)能力,支持開發(fā)者本地一鍵式生成代碼覆蓋率數(shù)據(jù)。

性能調(diào)試開發(fā)工具SmartPerf Host

支持Frame timeline抓取和展示能力,開發(fā)者可以抓取和展示卡頓丟幀檢測(cè)的數(shù)據(jù)。

支持Scheduling analysis抓取和展示能力,開發(fā)者可以抓取和展示CPU調(diào)度分析,線程調(diào)度分析相關(guān)數(shù)據(jù)。

支持調(diào)用??梢暬筒煌瑤?kù)函數(shù)調(diào)用占比展示能力,開發(fā)者可以抓取并通過餅圖的方式展示調(diào)用棧及不同庫(kù)函數(shù)的占比

性能數(shù)據(jù)采集SmartPerf Device

支持應(yīng)用冷熱啟、頁(yè)面內(nèi)切換、滑動(dòng)幀率測(cè)試能力,開發(fā)者可以測(cè)試應(yīng)用冷熱啟動(dòng)時(shí)延、頁(yè)面切換時(shí)延、滑動(dòng)幀率測(cè)試能力。

支持端側(cè)測(cè)試數(shù)據(jù)對(duì)接云端看板能力,開發(fā)者可以將端側(cè)測(cè)試報(bào)告上傳云端查看或下載云端數(shù)據(jù)到本地。

該版本的完整信息可以訪問OpenHarmony官方網(wǎng)站,歡迎開發(fā)者踴躍使用并提出寶貴意見,開放開源共建,共同打造下一代智能終端的根社區(qū)和萬物互聯(lián)的數(shù)字底座。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )