OpenHarmony 5.1.0 Release (API 18震撼推出),新特性和优化一览

OpenHarmony 5.1.0 Release 新特性和优化一览欢迎各位开发者升级体验 API18。版本概述OpenHarmony 5.1.0 Release 正式推出 API 18,在前一版本(OpenHarmony 5.0.3,AP

OpenHarmony 5.1.0 Release (API 18震撼推出),新特性和优化一览

OpenHarmony 5.1.0 Release 新特性和优化一览

欢迎各位开发者升级体验 API18。

版本概述

OpenHarmony 5.1.0 Release 正式推出 API 18,在前一版本(OpenHarmony 5.0.3,API 15)基础上,带来诸多增强特性,涉及应用框架、ArkUI、媒体能力等多方面。完整可查看[1]

应用框架

当应用异常退出后再次启动时,开发者往往需要获取上次异常退出的具体原因和当时的应用状态信息,比如应用内存占用的 rss、pss 值、上次应用退出的时间等等。通过 UIAbility 和 UIExtensionAbility 的 OnCreate 生命周期函数中的 launchParam 参数,开发者可以获取到相关信息,并将其应用于应用体验的分析改进,从而调整业务逻辑、提高应用的存活率。由此新增的支持获取应用上一次退出的详细原因。(指南[2]API 参考[3]

ArkUI

  • 文本与输入组件能力增强。包括:
    • 文本组件支持对选中的文本提供分享服务(API 参考[4])、支持按音节连字符换行(API 参考[5])。
    • TextInput/TextArea 组件扩展自动填充类型,包含:车牌号、护照号等。(API 参考-ArkTS[6]、API 参考-C[7])
    • 富文本(RichEditor)组件在长按预览菜单时支持振动效果。(API 参考[8])
  • 新增适配圆形屏幕的能力。应该是后续的 watch 也会发力了。
    • 新增旋转表冠事件,组件获焦后扭动表冠可获取时间戳、旋转角速度、旋转角度和表冠动作信息。(API 参考[9]、指南[10])
    • 新增弧形列表组件 ArcList 和 ArcListItem,可呈现连续、多行的同类数据。(API 参考-ArcList[11]、API 参考-ArcListItem[12]、指南[13])
    • 新增弧形索引条组件 ArcAlphabetIndexer,可按字母顺排序进行快速定位。(API 参考[14]、指南[15])
    • 新增弧形滚动条组件 ArcScrollBar,可为弧形列表添加外置滚动条。(API 参考[16]、指南[17])
    • 新增弧形按钮组件 ArcButton,可提供强调、普通、警告等样式按钮。(API 参考[18]、指南[19])

媒体

音频

  • 新增支持 Float32 格式音频输出。(API 参考[20])
  • 新增支持空间音频管理的能力。(指南[21]、API 参考[22])

音视频编解码

  • 视频解码新增支持 MPEG2、MPEG4、H.263。(指南[23])

图片

  • 新增 C API 支持获取图片的可编辑标志。(API 参考[24])

录制

  • 新增屏幕录制时视频填充模式的枚举。(API 参考[25])
  • 音视频录制配置文件新增支持配置稳定录制模式 enableStableQualityMode18。(API 参考[26])

语言编译器运行时

collections(ArkTS 容器集)在 API 18 新增支持以下方法(API 参考[27]): Array:from、isArray、of、copyWithin、lastIndexOf、some、reduceRight、reverse、toString、every、toLocaleString

TypedArray:toString、toLocaleString、lastIndexOf、reduceRight

安全

新增基于群组的关键资产访问控制。通过设置群组属性,同一开发者开发的多个应用可以共享数据。(指南[28]

基础通信

  • 新增在蓝牙 socket server 端可以获取对端蓝牙设备虚拟 MAC 地址的功能(API 参考[29])
  • 新增获取对端蓝牙设备原始名字的功能。(API 参考[30])
  • 新增连接对端蓝牙设备可用 profile 的功能,如 A2DP、HFP、HID 等协议 profile。(API 参考[31])
  • 新增持久化存储对端蓝牙设备虚拟 MAC 地址的功能。(API 参考[32])
  • 新增蓝牙 BLE 扫描围栏模式,可实现首次扫描到 BLE 广播报文时上报进入围栏,扫描不到 BLE 广播报文时上报离开围栏,并携带 BLE 广播报文信息。(API 参考[33])
  • 完善蓝牙搜索到的设备信息,新增获取设备 RSSI(信号强度)、名称和类别信息。(API 参考[34])
  • 新增异步读取和发送蓝牙 socket 数据的功能,如果链路断开,会上报 IO 异常。(API 参考[35])

位置服务

新增支持订阅蓝牙扫描信息上报事件用于辅助定位。(API 参考[36]

网络管理

新增支持获取 TLSSocket 的文件描述符。(API 参考[37]

剪贴板

剪贴板支持获取剪贴板的内容变化的次数。(API 参考-ArkTS API[38]API 参考-C API[39]

输入法

输入法框架新增支持设置显示预览文本时的回调(API 参考[40]),支持订阅输入法应用操作文本预览内容的事件(API 参考[41])。

Web

  • 支持获取上一次被点击区域的元素信息。(API 参考[42])
  • 支持设置 Web 组件是否开启字重跟随系统设置变化。(API 参考[43])
  • 支持 Web 内音视频可对接到播控中心。(API 参考[44])
  • 对接 W3C 规范,支持通过 accept 指定上传的文件类型。(API 参考[45])
  • 提供静态方法,清除应用中的资源缓存文件。(API 参考[46])
  • 新增支持以固定宽高设置同层渲染的元素。(API 参考[47])

多模输入

新增支持设置处于前台的应用操作指定按键的回调。(API 参考[48]

上传下载

  • 上传下载支持应用缓存下载能力,支持应用提前缓存文件到沙箱目录或内存中。(API 参考[49])
  • 上传下载 agent 接口支持设置任务最高限速(API 参考[50]),支持设置待上传文件在表单中的 content-type 字段(API 参考[51])。

资源调度

  • 新增后台子进程管理模块,提供应用对子进程进行压制、解压制的能力,避免子进程过多占用系统资源,导致系统使用卡顿。(API 参考[52])
  • 新增长时任务车钥匙子类型 CAR_KEY。新增长时任务车钥匙子类型 CAR_KEY。(指南[53]、API 参考[54])
  • 后台代理提醒中提醒标题、提醒内容等字段支持设置资源 ID,用于全球化适配。(API 参考[55])

全球化

  • 新增支持时间日期/数字精细化格式化的能力,便于更灵活的使用格式化能力。(API 参考[56])
  • 新增支持返回富文本的数字格式化能力。(API 参考[57])

配套关系

表 1 版本软件和工具配套关系

软件

版本

备注

OpenHarmony

5.1.0 Release

NA

Public SDK

Ohos_sdk_public 5.1.0.165 (API Version 15 Release)

面向应用开发者提供,不包含需要使用系统权限的系统接口。通过 DevEco Studio 默认获取的 SDK 为 Public SDK。

HUAWEI DevEco Studio(可选)

5.1.0 Release

OpenHarmony 应用开发推荐使用。 待发布

HUAWEI DevEco Device Tool(可选)

4.0 Release

OpenHarmony 智能设备集成开发环境推荐使用。

源码获取

前提条件

注册码云 gitee 帐号。

注册码云 SSH 公钥,请参考码云帮助中心[58]

安装git 客户端[59]git-lfs[60]并配置用户信息。

代码语言:javascript代码运行次数:0运行复制
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store

安装码云 repo 工具,可以执行如下命令。

代码语言:javascript代码运行次数:0运行复制
curl -s  > /usr/local/bin/repo  #如果没有权限,可下载至其他目录,并将其配置到环境变量中chmod a+x /usr/local/bin/repo
pip3 install -i  requests

通过 repo 获取

方式一(推荐)

通过 repo + ssh 下载(需注册公钥,请参考码云帮助中心[61])。

从版本分支获取源码。可获取该版本分支的最新源码,包括版本发布后在该分支的合入。

代码语言:javascript代码运行次数:0运行复制
repo init -u git@gitee:openharmony/manifest.git -b OpenHarmony-5.1.o-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

从版本发布 Tag 节点获取源码。可获取与版本发布时完全一致的源码。

代码语言:javascript代码运行次数:0运行复制
repo init -u git@gitee:openharmony/manifest.git -b refs/tags/OpenHarmony-v5.1.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

方式二

通过 repo + https 下载。

从版本分支获取源码。可获取该版本分支的最新源码,包括版本发布后在该分支的合入。

代码语言:javascript代码运行次数:0运行复制
repo init -u  -b OpenHarmony-5.1.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

从版本发布 Tag 节点获取源码。可获取与版本发布时完全一致的源码。

代码语言:javascript代码运行次数:0运行复制
repo init -u  -b refs/tags/OpenHarmony-v5.1.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

坚果派

坚果派由坚果等人创建,团队拥有若干华为 HDE,以及若干其他领域的三十余位万粉博主运营。专注于分享的技术包括 HarmonyOS/OpenHarmony,ArkUI-X,元服务,服务卡片,华为自研语言,BlueOS 操作系统、团队成员聚集在北京、上海、广州、深圳、南京、杭州、苏州、宁夏等地。 聚焦“鸿蒙原生应用”、“智能物联”和“AI 赋能”、“人工智能”四大业务领域,依托华为开发者专家等强大的技术团队,以及涵盖需求、开发、测试、运维于一体的综合服务体系,赋能文旅、媒体、社交、家居、消费电子等行业客户,满足社区客户数字化升级转型的需求,帮助客户实现价值提升。 目前上架鸿蒙原生应用 18 款,三方库 72 个。

地址:

参考资料

[1]

完整可查看: .1.0-release.md#openharmony-510-release

[2]

指南: .1.0-Release/zh-cn/application-dev/application-models/ability-exit-info-record.md

[3]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-abilityConstant.md#lastexitdetailinfo18

[4]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-text-common.md#属性

[5]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-appendix-enums.md#wordbreak11

[6]

API 参考-ArkTS: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-textinput.md#contenttype12枚举说明

[7]

API 参考-C: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/_ark_u_i___native_module.md#arkui_textinputcontenttype

[8]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-richeditor.md#previewmenuoptions18

[9]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-events-crown.md

[10]

指南: .1.0-Release/zh-cn/application-dev/ui/arkts-common-events-crown-event.md

[11]

API 参考-ArcList: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-arclist.md

[12]

API 参考-ArcListItem: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-arclistitem.md

[13]

指南: .1.0-Release/zh-cn/application-dev/ui/arkts-layout-development-create-arclist.md

[14]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-arc-alphabet-indexer.md

[15]

指南: .1.0-Release/zh-cn/application-dev/ui/arkts-layout-development-create-arclist.md#与弧形索引条arcalphabetindexer联动

[16]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-arcscrollbar.md

[17]

指南: .1.0-Release/zh-cn/application-dev/ui/arkts-layout-development-create-arclist.md#添加外置滚动条arcscrollbar

[18]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ohos-arkui-advanced-ArcButton.md

[19]

指南: .1.0-Release/zh-cn/application-dev/ui/arkts-advanced-components-arcbutton.md

[20]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-audio-kit/_o_h_audio.md#oh_audiostream_sampleformat

[21]

指南: .1.0-Release/zh-cn/application-dev/media/audio/public-audio-spatialization-management.md

[22]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-audio-kit/js-apis-audio.md#getspatializationmanager18

[23]

指南: .1.0-Release/zh-cn/application-dev/media/avcodec/avcodec-support-formats.md

[24]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-image-kit/_image___native_module.md#oh_pixelmapinitializationoptions_geteditable

[25]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-media-kit/js-apis-media.md#avscreencapturefillmode18

[26]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-media-kit/js-apis-media.md#avrecorderprofile9

[27]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkts/js-apis-arkts-collections.md#arktscollections-arkts容器集

[28]

指南: .1.0-Release/zh-cn/application-dev/security/AssetStoreKit/asset-js-group-access-control.md

[29]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-connectivity-kit/js-apis-bluetooth-socket.md#socketgetdeviceid17

[30]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-connectivity-kit/js-apis-bluetooth-connection.md#connectiongetremotedevicename16

[31]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-connectivity-kit/js-apis-bluetooth-connection.md#connectionconnectallowedprofiles16

[32]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-connectivity-kit/js-apis-bluetooth-access.md#accessaddpersistentdeviceid16

[33]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-connectivity-kit/js-apis-bluetooth-ble.md#scanreportmode15

[34]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-connectivity-kit/js-apis-bluetooth-connection.md#discoveryresult18

[35]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-connectivity-kit/js-apis-bluetooth-socket.md#socketsppwriteasync18

[36]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-location-kit/js-apis-geoLocationManager.md#geolocationmanageronbluetoothscanresultchange16

[37]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-network-kit/js-apis-socket.md#getsocketfd16

[38]

API 参考-ArkTS API: .1.0-Release/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-pasteboard.md#getchangecount18

[39]

API 参考-C API: .1.0-Release/zh-cn/application-dev/reference/apis-basic-services-kit/_pasteboard.md#oh_pasteboard_getchangecount

[40]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-ime-kit/js-apis-inputmethod.md#setpreviewtextcallback17

[41]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-ime-kit/js-apis-inputmethod.md#onsetpreviewtext17

[42]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkweb/js-apis-webview.md#getlasthittest18

[43]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkweb/ts-basic-components-web.md#enablefollowsystemfontweight18

[44]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkweb/ts-basic-components-web.md#enablewebavsession18

[45]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkweb/ts-basic-components-web.md#onshowfileselector9

[46]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkweb/js-apis-webview.md#removeallcache18

[47]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-arkweb/ts-basic-components-web.md#nativeembedoptions16

[48]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-input-kit/js-apis-inputconsumer.md#inputconsumeronkeypressed16

[49]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request-cacheDownload.md

[50]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request.md#setmaxspeed18

[51]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request.md#filespec10

[52]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-backgroundtasks-kit/js-apis-backgroundProcessManager.md

[53]

指南: .1.0-Release/zh-cn/application-dev/task-management/continuous-task.md#stage模型

[54]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-backgroundtasks-kit/js-apis-resourceschedule-backgroundTaskManager.md#backgroundsubmode16

[55]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-backgroundtasks-kit/js-apis-reminderAgentManager.md#reminderrequest

[56]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-localization-kit/js-apis-i18n.md#i18ngetsimpledatetimeformatbypattern18

[57]

API 参考: .1.0-Release/zh-cn/application-dev/reference/apis-localization-kit/js-apis-i18n.md#stylednumberformat18

[58]

码云帮助中心:

[59]

git 客户端: %2Fbook%2Fzh%2Fv2%2F%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git

[60]

git-lfs: #downloading

[61]

码云帮助中心:

[62]

完整请查看: .1.0-release.md

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-05-05,如有侵权请联系 cloudcommunity@tencent 删除apiopenharmonyrelease优化源码

发布者:admin,转转请注明出处:http://www.yc00.com/web/1747395188a4640024.html

相关推荐

  • OpenHarmony 5.1.0 Release (API 18震撼推出),新特性和优化一览

    OpenHarmony 5.1.0 Release 新特性和优化一览欢迎各位开发者升级体验 API18。版本概述OpenHarmony 5.1.0 Release 正式推出 API 18,在前一版本(OpenHarmony 5.0.3,AP

    2天前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信