IT之家 9 月 30 日消息,開源鴻蒙 OpenHarmony 5.0.0 Release 版本于昨日發(fā)布,相比 OpenHarmony 5.0 Beta1,Release 版本做出了如下特性新增或增強(qiáng):
應(yīng)用框架新增更多生命周期管理能力、提供子進(jìn)程相關(guān)能力
ArkUI 進(jìn)一步開放自定義節(jié)點(diǎn)的渲染能力
應(yīng)用包管理提升了應(yīng)用打包效率,豐富終端用戶使用應(yīng)用可操作場景(如創(chuàng)建應(yīng)用分身、創(chuàng)建桌面快捷方式等)
分布式數(shù)據(jù)管理能力進(jìn)一步增強(qiáng),在保證數(shù)據(jù)合理共享的前提下增強(qiáng)安全性
文件管理進(jìn)一步完善 Picker 的能力,對文件資源做到合理管控權(quán)限和合理使用
媒體在音視頻播放、錄制方面能力進(jìn)一步增強(qiáng),新增支持多個音視頻、圖片的編碼格式,支持更細(xì)節(jié)的播控操作
IT之家附 OpenHarmony 5.0.0 Release 更新日志如下:
應(yīng)用框架
支持創(chuàng)建 JS / Native 子進(jìn)程,開發(fā)者可以把耗時操作放到子進(jìn)程中執(zhí)行。
Ability 生命周期監(jiān)聽支持 onNewWant 等更多生命周期。
支持 Ability 在不主動銷毀自己的情況下,將 AbilityResult 結(jié)果返回給調(diào)用方。
Context 支持 Sendable 對象轉(zhuǎn)換,用于多線程傳遞 Context。
支持應(yīng)用級別的字體設(shè)置。
ArkUI
進(jìn)一步增強(qiáng)了組件自定義能力,新增組件 modifier、ContentModifier 和 DrawModifier,支持基于已有組件新增屬性、自定義組件內(nèi)容和完全自繪制。
開放了自定義節(jié)點(diǎn)和 Native 的渲染節(jié)點(diǎn)。自定義節(jié)點(diǎn)是指具備底層實(shí)體節(jié)點(diǎn)的部分基礎(chǔ)能力的節(jié)點(diǎn)對象,這些節(jié)點(diǎn)能夠通過自定義占位節(jié)點(diǎn)與原生組件進(jìn)行混合顯示。自定義節(jié)點(diǎn)可以具備單個節(jié)點(diǎn)的測算布局、設(shè)置基礎(chǔ)屬性、設(shè)置事件監(jiān)聽、自定義繪制渲染內(nèi)容的自定義能力。包括 FrameNode、RenderNode、BuilderNode 三類對象。詳細(xì)如下:
BuilderNode:提供能夠掛載原生組件的自定義節(jié)點(diǎn) BuilderNode。
FrameNode:提供自定義節(jié)點(diǎn) FrameNode,表示組件樹的實(shí)體節(jié)點(diǎn)。NodeController 可通過 BuilderNode 持有的 FrameNode 將其掛載到 NodeContainer 上,也可通過 FrameNode 獲取 RenderNode,掛載到其他 FrameNode 上。
RenderNode:提供自繪制渲染節(jié)點(diǎn) RenderNode,支持在 Native 側(cè)完成自定義繪制需求。
NodeController:提供 NodeController 用于實(shí)現(xiàn)自定義節(jié)點(diǎn)的創(chuàng)建、顯示、更新等操作,并負(fù)責(zé)將自定義節(jié)點(diǎn)掛載到 NodeContainer 上。
適用于三方框架的組件 NDK 能力增強(qiáng),涵蓋組件創(chuàng)建、屬性設(shè)置、事件注冊、自定義能力、組件樹構(gòu)建。
Navigation 組件能力增強(qiáng),包括單雙欄切換動效、轉(zhuǎn)場動畫的打斷和接續(xù),以及頁面生命周期的監(jiān)聽能力。
控件視覺、動效和交互刷新,以及支持適老化、鏡像語言和屏幕朗讀。
菜單和彈窗類組件支持開發(fā)者組定義顏色、形狀、圓角、大小、位置和陰影。
應(yīng)用包管理
支持應(yīng)用分身的接入和管理,應(yīng)用可以通過簡單的配置即可接入應(yīng)用分身。
支持桌面快捷方式,用戶可以動態(tài)添加快捷方式到桌面。
支持系統(tǒng)級 HSP 和 ArkWeb 獨(dú)立升級能力,支持獨(dú)立更新預(yù)置的應(yīng)用。
支持 OTA 升級異常中斷后恢復(fù)機(jī)制,OTA 升級流程中出現(xiàn)斷電、服務(wù) crash,重啟時恢復(fù) OTA 流程,繼續(xù)安裝、更新應(yīng)用;
提供 cache 目錄自動清理能力,支持存儲管理在設(shè)備空間不足時自動清理 cache 目錄。
支持 Native 軟件包,提供 Native 軟件包的打包、安裝和卸載能力。
打包工具打包 App 時,對 App 包整體壓縮,減少上架 App 的包大小。
分布式軟總線
IPC 提供 CAPI 基礎(chǔ)接口能力,包括序列化 / 反序列化、消息收發(fā)處理接口等。
分布式數(shù)據(jù)管理
RelationalStore&Preferences 支持共沙箱數(shù)據(jù)的訪問方式。
RDB 支持只讀方式打開。
UDMF 支持 UTD 與 MIME Type 的兼容性查詢。
遷移場景數(shù)據(jù)資產(chǎn)同步優(yōu)化。
支持 E 類加密的分布式數(shù)據(jù)管理。
倒排索引構(gòu)建場景,支持應(yīng)用指定外掛分詞器。
基于 NDK 的 C API 支持 UDMF 數(shù)據(jù)跨設(shè)備拖拽能力。
分布式硬件
提供 ACL 精細(xì)化管理:根據(jù)業(yè)務(wù)的設(shè)備、用戶、賬號、包名對 ACL 進(jìn)行精細(xì)的增、刪、改、查操作。
質(zhì)量加固,提高功能穩(wěn)定性和可靠性。
分布式 DeviceProfile
設(shè)備數(shù)據(jù)分級重構(gòu),提高對數(shù)據(jù)增刪改查的執(zhí)行效率。
質(zhì)量加固,后臺建立鏈接功能優(yōu)化,提高穩(wěn)定性和可靠性。
文件管理
支持文件增量備份的能力。
提供備份應(yīng)用獲取備份數(shù)據(jù)量詳情的接口,允許應(yīng)用上報(bào)待備份數(shù)據(jù)記錄數(shù)(如:短信條數(shù)),支持備份恢復(fù)過程中的異常事件上報(bào)。
新增支持 SA 接入備份恢復(fù)框架。
增強(qiáng) Picker 能力:提供 Audio Picker 一次多選的能力;新增 Download Picker,應(yīng)用可直接將文件保存到“Download / 包名級”目錄下,且后續(xù)對該目錄的訪問無需申請權(quán)限,補(bǔ)齊瀏覽器等應(yīng)用的下載體驗(yàn)。
支持應(yīng)用通過申請權(quán)限等方式獲取公共目錄(Download、Desktop、Document)的訪問權(quán)限(部分設(shè)備支持,需通過 syscap 判斷),未申請權(quán)限無法直接訪問。
支持應(yīng)用通過 FilePicker 的方式選擇文件或目錄并獲取對該目錄或文件的臨時訪問權(quán)限,并支持持久化訪問能力,未持久化的文件或目錄,在應(yīng)用退出后無法再繼續(xù)訪問。
新增 CreateStream、fdopenStream 等流式的文件訪問接口。
新增設(shè)置和獲取擴(kuò)展屬性的接口。
圖形圖像及窗口
圖形圖像
基于 NDK 的 C API 的 NativeImage 模塊新增支持 NativeWindowBuffer。
基于 NDK 的 C API 新增支持 NativeVsync,支持單幀多次回調(diào)能力。
基于 NDK 的 C API 新增支持可變幀率的能力。
ColorSpaceManager 支持 sendable 能力。
字體引擎支持文字陰影能力,支持下劃線對齊。
圖形繪制接口完善繪制相關(guān)能力。
窗口
提供 display.getDisplayByIdSync 接口配合多屏特性使用,支持應(yīng)用通過 id 同步獲取 Ability 所在屏幕信息。
支持獲取屏幕可用區(qū)信息。
支持在 ArkUI 中根據(jù)頁面顏色設(shè)置狀態(tài)欄文本顏色。
媒體
音頻
音頻焦點(diǎn)增強(qiáng):支持焦點(diǎn)會話,允許應(yīng)用設(shè)置與其他應(yīng)用的并發(fā)播放策略,允許應(yīng)用靜音播放時不打斷后臺播放中的音頻。
新增支持 DP、USB 耳機(jī)等更多的音頻發(fā)聲設(shè)備,支持切換默認(rèn)發(fā)聲設(shè)備功能(聽筒和揚(yáng)聲器)。
新增視頻通話的音頻流類型,優(yōu)化該場景下的音頻流播放體驗(yàn)。
新增統(tǒng)一音量組件,方便使用、降低開發(fā)復(fù)雜度。
支持應(yīng)用內(nèi)投播組件樣式的自定義。
支持鈴音列表查詢和自定義鈴音設(shè)置。
播放
播放器起播、Seek 性能優(yōu)化,降低時延。
新增多種播放協(xié)議或格式:支持 DASH 流媒體協(xié)議播放;支持 AMR、APE、WAV PCM-MULAW 格式音頻播放。
新增多種播放控制的能力:支持多音軌視頻播放、播放視頻過程更換輸出 Surface、靜音播放、精準(zhǔn) Seek、設(shè)置播放區(qū)間、字幕。
支持配置流媒體緩沖大??;支持音頻 Offload 模式。
流媒體播放能力增強(qiáng):優(yōu)化流媒體緩存策略,減少卡頓。
錄制
音頻錄制能力增強(qiáng):支持 mp3 、WAV PCM -MULAW 格式音頻錄制。
錄屏
支持對應(yīng)用自身隱私窗口豁免錄屏保護(hù),提供隱私確認(rèn)窗口和錄屏狀態(tài)提示。
支持錄屏?xí)r排除指定窗口的畫面。
支持配置屏幕旋轉(zhuǎn)并可動態(tài)調(diào)整旋轉(zhuǎn)參數(shù)。
支持麥克風(fēng)和系統(tǒng)音同時錄制。
音視頻編解碼
新增 AVTranscoder 轉(zhuǎn)碼接口,支持降低碼率,輸出視頻編碼 AVC、音頻編碼 AAC、封裝格式 MP4 的視頻文件,減少傳輸 / 存儲數(shù)據(jù)量。
DRM
AVPlayer / AVCodec 支持 DASH 協(xié)議節(jié)目的 DRM 信息解析、支持 TS 封裝的 H265 視頻格式的解密、支持音頻解密。
AVCodec DRM 適配增加解密參數(shù)設(shè)置。
相機(jī)
新增模式化能力,包括:延時攝影、全景、流光快門、大光圈錄像、熒光攝影。
新增相機(jī) PerConfig 一鍵配置機(jī)制,確保相機(jī)效果一致,降低開發(fā)復(fù)雜度。
優(yōu)化分段式流程,提升拍照 / 錄像的性能與質(zhì)量。
對標(biāo) ArkTS API 能力,補(bǔ)齊相關(guān) C API。
增強(qiáng)相機(jī)使用體驗(yàn),包括:鏡像、變焦、防抖、連拍、相機(jī)狀態(tài)通知等。
圖片
EXIF 讀寫能力增強(qiáng),支持 EXIF 批量讀寫,GIF 支持獲取播放次數(shù)信息。
支持 HDR 能力:HDR 雙層編解碼、HDR 與 SDR 互轉(zhuǎn)。
編解碼格式增強(qiáng),支持 HEIF 編解碼,DNG 解碼。
編創(chuàng)框架基于 NDK 的 C API 補(bǔ)齊,包括:效果器基類、濾鏡基類、自定義算法。
事件通知
CEM 工具新增支持發(fā)布自定義公共事件。
Emitter 新增泛型接口,可以用來直接傳遞 Sendable 對象。
支持同步查詢通知的使能狀態(tài)。
基礎(chǔ)通信
支持三方應(yīng)用通過網(wǎng)絡(luò)管理連接熱點(diǎn)。
網(wǎng)絡(luò)管理
網(wǎng)絡(luò)管理能力
支持通過創(chuàng)建 NetConnection 對象連接目標(biāo)指定 Wi-Fi 熱點(diǎn)。
提供網(wǎng)絡(luò)管理狀態(tài)監(jiān)聽、應(yīng)用級代理監(jiān)聽等能力的基于 NDK 的 C API。
網(wǎng)絡(luò)協(xié)議棧能力
支持將 TCP Socket 升級成 TLS Socket,提升通信安全性。
TLS Socket 支持跳過證書校驗(yàn),避免特殊情況下無法校驗(yàn)證書的場景。
所有 Socket 均支持獲取本地 IP 與端口。
HTTP 支持配置證書鎖定信息。
HTTP 支持 brotli 壓縮算法。
電源
支持獲取當(dāng)前充電電流,三方應(yīng)用可以通過 nowCurrent 獲取當(dāng)前設(shè)備電流。
支持飛行模式的溫度管控動作,開發(fā)者可定制溫控策略控制設(shè)備進(jìn)入飛行模式。
支持根據(jù) WorkSource 代理運(yùn)行鎖輔助資源調(diào)度模塊進(jìn)行功耗控制。
支持低電量時從 S3 睡眠狀態(tài)喚醒后自動進(jìn)入 S4 休眠,實(shí)現(xiàn)超長待機(jī)特性。
支持系統(tǒng)啟動后讀取并廣播設(shè)備殼 / 套的在位信息,電池信息內(nèi)核節(jié)點(diǎn)和是否發(fā)廣播等支持開發(fā)者配置。
USB
USB DEVICE 配置管理安全訪問控制增強(qiáng)。
USB 標(biāo)準(zhǔn)數(shù)據(jù)傳輸模式 (中斷傳輸、Bulk 傳輸) 功能增強(qiáng)。
支持標(biāo)準(zhǔn)類型 USB 外設(shè)安全管控。
啟動恢復(fù)
支持 Native 軟件包打包、安裝、運(yùn)行和卸載,搭建 Native 軟件包開發(fā)和發(fā)布系統(tǒng),有助于生產(chǎn)力軟件生態(tài)能力的快速構(gòu)建,也有助于系統(tǒng)開發(fā)者提升開發(fā)效率。
提供可重置的開發(fā)者匿名設(shè)備標(biāo)識符 ODID,代替 UDID 以及其他的硬件標(biāo)識符。
支持運(yùn)行 bftpd 命令,支持 user 模式下調(diào)試應(yīng)用沙箱數(shù)據(jù)訪問。
全球化
提供 C API 支持 ICU4C 標(biāo)準(zhǔn)的國際化能力。
國際化的格式化處理能力支持屏幕大小自適應(yīng)。
全面支持偽本地化測試。
提供 C API 支持資源文件管理能力。
字符串資源支持可翻譯性的標(biāo)記。
提供小語種字庫能力。
安全
加解密算法庫框架
對標(biāo)部分常用加解密算法能力的 ArkTS API,提供對應(yīng)的 C API。
支持 SM4-GCM 算法接口。
證書管理
提供拉起證書管理界面的 API。
提供獲取應(yīng)用私有證書列表的 API。
程序訪問控制
地理位置權(quán)限支持單次授權(quán)選項(xiàng)。
支持拉起設(shè)置頁面的權(quán)限管理應(yīng)用界面。
用戶 IAM
支持口令有效期檢查。
支持恢復(fù)密鑰。
賬號
支持注銷本地賬號。
支持創(chuàng)建本地賬號時,指定賬號短名稱(用作個人文件夾名稱)。
支持查詢本地賬號名稱。
新增隱私賬號類型。
新增解鎖認(rèn)證意圖。
新增圖形、四位 PIN 憑據(jù)類型。
ArkCompiler
ArkTS 前端編譯器
語法增強(qiáng),編譯目標(biāo)從 es2017 切換到 es2021,支持編譯帶有 es2018~es2021 語法特性的源碼文件。
混淆能力增強(qiáng),支持異常堆棧還原的能力、文件粒度不混淆的功能、HAP 與 HSP 模塊文件名混淆功能、白名單通配符功能。
ArkTS 運(yùn)行時
支持模塊懶加載,在變量被真正使用時再同步加載執(zhí)行文件,提升應(yīng)用啟動性能。
并發(fā)能力增強(qiáng),提供 Sendable 對象共享機(jī)制,優(yōu)化對象跨線程通信性能;TaskPool 提供任務(wù)隊(duì)列、長時任務(wù)、周期任務(wù)等功能。
調(diào)試功能增強(qiáng),支持反向調(diào)試、Smart Stepinto 等功能。
調(diào)優(yōu)功能增強(qiáng),支持 hiperf / profiler 混合回棧、多實(shí)例 HeapDump 功能。
ArkTS 基礎(chǔ)庫
支持高精度浮點(diǎn)運(yùn)算功能,提供 StringDecoder 字符流解碼能力、stream 數(shù)據(jù)流處理能力,支持位向量。
JSVM
提供系統(tǒng) JS 引擎,支持高性能運(yùn)行 JS 和 WASM 的能力。
綜合傳感處理平臺
拖拽框架
支持隨著窗口旋轉(zhuǎn),旋轉(zhuǎn)拖拽窗口。
支持三設(shè)備之間進(jìn)行拖拽。
支持應(yīng)用自定義配置拖拽過程中不顯示數(shù)量角標(biāo)。
支持?jǐn)?shù)據(jù)接收方自定義剪切與復(fù)制行為。
鍵鼠穿越
管控雙端同時發(fā)起 activate 接口調(diào)用。
鍵鼠穿越時序問題優(yōu)化,減少系統(tǒng)依賴,消除多進(jìn)程間時序問題。
提高穿越管理性能,提高成功率,降低穿越時延。
多模輸入
提供 C API 支持設(shè)備信息查詢等相關(guān)能力。
泛 Sensor
vibrator
部分異步查詢接口提供同步版本 API。
系統(tǒng)可以根據(jù)不同的器件能力等級更好的使用馬達(dá)器件觸發(fā)振感。
sensor
部分異步查詢接口提供同步版本 API。
提供 C API 支持線性加速度、游戲旋轉(zhuǎn)向量傳感器。
無障礙服務(wù)
放大手勢,支持通過手勢對屏幕內(nèi)容進(jìn)行放大顯示操作。
主動播報(bào)能力,應(yīng)用適配屏幕朗讀時,在一些動態(tài)變化的場景下,可支持通過無障礙進(jìn)行變化信息的主動播報(bào)。
主動聚焦能力,應(yīng)用適配屏幕朗讀時,在某些場景下,可對組件請求主動聚焦。
資源調(diào)度
后臺任務(wù)
應(yīng)用申請長時任務(wù)類型,支持同時申請多種類型的長時任務(wù)。
應(yīng)用申請 DATA_TRANSFER 下載類長時任務(wù),支持返回下載通知給應(yīng)用進(jìn)行進(jìn)度更新。
性能功耗熱融合管控
根據(jù)當(dāng)前溫度、負(fù)載以及是否處于高負(fù)載場景等信息決策出系統(tǒng)負(fù)載融合檔位,應(yīng)用注冊系統(tǒng)負(fù)載回調(diào)后,可根據(jù)系統(tǒng)負(fù)載融合檔位的不同等級,自適應(yīng)降級自身業(yè)務(wù)負(fù)載,從而降低整機(jī)負(fù)載。
代理提醒
應(yīng)用申請重復(fù)類型的日歷提醒時,支持指定剔除日,在剔除日內(nèi)不進(jìn)行提醒。
應(yīng)用申請?zhí)嵝褧r,wantAgent 支持傳遞 parameters 參數(shù),在點(diǎn)擊提醒后跳轉(zhuǎn)到目標(biāo) UIAbility 時,攜帶 parameters 參數(shù)。
應(yīng)用查詢已發(fā)布的提醒時,查詢結(jié)果中返回對應(yīng)的 reminderId 。
測試框架
支持跨平臺接口的兼容性測試。
DFX
提供判斷 HDC 調(diào)試器是否連接的 API。
支持在開發(fā)者模式打開 trace 功能。
開放主線程超時事件的感知。
errorManager 支持 TaskPool 和 Worker 監(jiān)聽未處理的 Reject 事件。
內(nèi)核
提供基于用戶交互關(guān)系的線程 QoS 等級標(biāo)注和調(diào)度。
上傳下載
request.agent.Fault 細(xì)化了錯誤類型,便于開發(fā)者快速定位接口使用問題。
request.agent.Config 新增 proxy 成員,支持設(shè)置任務(wù)的網(wǎng)絡(luò)代理地址。
request.agent.Task.start 支持重新啟動已經(jīng)失敗 \ 停止的任務(wù),便于開發(fā)者快速恢復(fù)失敗任務(wù)。
request.agent.Task 支持使用 network.json 配置文件配置 TLS 證書鎖定指紋。
request.agent.FileSpec 支持指定應(yīng)用沙箱 base 目錄下的所有文件路徑,便于開發(fā)者管理沙箱文件;同時支持前臺上傳公共文件,例如圖庫文件、相冊文件等,減少額外拷貝帶來的開銷。
輸入法框架
基于 NDK 的 C API 新增支持自繪 UI 組件使用輸入法,包括拉起、退出輸入法,處理文字上屏請求等操作。
優(yōu)化拉起鍵盤時回調(diào)時序,輸入法應(yīng)用可根據(jù)輸入框?qū)傩约皶r調(diào)整鍵盤顯示內(nèi)容。
時間時區(qū)
提供 NTP 時間強(qiáng)制刷新和獲取當(dāng)前 NTP 時間的系統(tǒng) API。
基于 NDK 的 C API 提供獲取時區(qū)的能力。
剪貼板
基于 NDK 的 C API 支持剪貼板的能力。
提供跨設(shè)備剪貼板開關(guān)。
在應(yīng)用升級到 API 12 及以后,對讀取剪貼板接口增加讀權(quán)限校驗(yàn)。
Web
網(wǎng)絡(luò)接管特性增強(qiáng),支持獲取請求的 FrameUrl,支持獲取被攔截請求的 ResourceType。
支持 Web 場景輸入法預(yù)上屏能力。
支持 Web 組件鍵盤托管能力。
支持 Web 組件與 ArkUI 原生組件同步繪制能力。
支持設(shè)置 File 協(xié)議可跨域訪問的白名單目錄。
支持應(yīng)用可指定渲染子進(jìn)程。
Web 組件支持加速度陀螺儀。
Web 組件支持 H5 頁面智能填充。
Web 組件支持 BFCache 能力。
完善 Web 組件軟鍵盤避讓機(jī)制,支持 Resize 和 Offset 模式。
主題框架
支持通過文件夾目錄使能主題,相比壓縮包使能,提升使能主題的性能。
支持卡片資源的管理,支持被添加主題卡片的增刪改查能力。
為外屏設(shè)備做特性化功能,支持使能外屏主題。
主題使能支持不切換當(dāng)前“active”目錄。
編譯構(gòu)建
編譯構(gòu)建依賴的 CMake 版本從 3.16.5 升級到 3.28.2。
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。