OpenHarmony 是由开放原子开源基金会孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。
OpenHarmony 5.1.0 Release 正式版已发布并上线 Gitee 平台,升级 API 18。
相比前一个 Release 版本(OpenHarmony 5.0.3,即 API 15),OpenHarmony 5.1.0 Release 重点做出了如下特性新增或增强:
-
进一步增强 ArkUI,提供更丰富的组件属性设置,支持更多精致动效,持续补充组件通过 C API 调用的能力;
-
进一步增强媒体能力,提供更丰富的编解码能力、播控能力、媒体会话管理能力;
-
进一步丰富了应用启动的细节设置能力;
-
进一步增强分布式数据管理的 UDMF、RDB 的数据处理能力;
-
进一步完善了标准 Web 能力等等。
更详细的特性新增与增强的说明如下,将按照API版本顺序分别进行列举:
应用框架
-
新增支持根据指定的数据加密级别创建应用上下文,以获取相应的路径。(API参考)
-
新增支持同步获取当前进程的进程名(processName)。(API参考)
-
新增支持获取应用被拉起原因(LAUNCH_REASON_MESSAGE)。(API参考)
-
启动框架新增支持HAR/HSP和so文件。(指南、API参考)
-
新增支持启动Ability时指定主窗口显示的最大宽高(maxWindowWidth/maxWindowHeight)和最小宽高(minWindowWidth/minWindowHeight)。(API参考)
-
新增支持获取应用上一次退出的详细原因。(指南、API参考)
-
新增支持设置UIAbility的颜色模式。(API参考)
-
新增支持通过startAbility的属性startOptions来指定创建新窗口的大小(minWindowWidth、minWindowHeight、maxWindowWidth、maxWindowHeight)。(API参考)
-
C API新增支持启动Ability时传递startOptions。(API参考)
-
C API新增支持设置启动Ability时窗口和dock栏图标的显示模式。(API参考)
-
新增一批C API函数,用于获取应用级别沙箱内文件目录。(API参考)
应用包管理
配置文件module.json5新增重定向配置:通过abilitySrcEntryDelegator标识当前Module需要重定向到的UIAbility的名称,通过abilityStageSrcEntryDelegator标识当前Module需要重定向到的UIAbility对应的Module名称(不可为当前Module名称),两者组合使用,共同指定重定向的目标对象。 (指南)
ArkUI
窗口管理
图形图像
新增一批C API函数和枚举,用于支持直接绘制到屏幕buffer的gpu渲染能力。(API参考)
分布式数据管理
-
RelationalStore新增rootDir配置,支持打开非database目录下的数据库。(API参考)
-
关系型数据库新增支持根据指定的列索引或列名称获取列数据类型。(API参考)
-
UDMF新增支持将传入的data转换成多样式数据结构的能力。若原data使用多个record去承载同一份数据的不同样式,则可以使用此接口将原data转换为多样式数据结构。(API参考)
媒体
音频
音视频编解码
- 视频解码新增支持MPEG2、MPEG4、H.263。(指南)
播放控制
-
播放器支持向应用透传SEI字段数据,适用于HTTP-FLV直播。(API参考)
-
调用媒体播放器AVPlayer设置播放策略时,新增支持Prepare之后显示视频起播首帧(showFirstFrameOnPrepare)、起播缓冲水线(preferredBufferDurationForPlaying)等播放策略。(API参考)
-
播放器新增支持播放预下载的视频数据。(API参考)
-
调用媒体播放器AVPlayer设置播放策略时,新增支持智能追帧水线(thresholdForAutoQuickPlay)。(API参考)
-
能力增强:支持应用创建多个SoundPool实例。(API参考)
-
调用媒体播放器AVPlayer设置播放策略时,新增支持Prepare之后显示视频起播首帧(showFirstFrameOnPrepare)。(API参考)
-
新增支持通过AV会话命令传递设置目标循环模式(setTargetLoopMode)的能力(API参考),并提供对设置动作的事件监听回调(API参考)。
-
音频会话新增支持单句/单条歌词展示的属性singleLyricText。(API参考)
图片
- 新增C API支持获取图片的可编辑标志。(API参考)
录制
语言编译器运行时
-
TaskPool支持指定任务执行并发度和指定任务的排队策略。(API参考)
-
TaskPool支持通过任务ID取消任务池中的任务。(API参考)
-
collections(ArkTS容器集)在API 18新增支持以下方法(API参考): Array:from、isArray、of、copyWithin、lastIndexOf、some、reduceRight、reverse、toString、every、toLocaleString
TypedArray:toString、toLocaleString、lastIndexOf、reduceRight
-
Sendable支持在缓存空间不够的时候,将近期最少使用的数据替换为新数据。(API参考)
-
Worker支持创建任务时指定任务的优先级。(API参考)
安全
新增基于群组的关键资产访问控制。通过设置群组属性,同一开发者开发的多个应用可以共享数据。(指南)
DFX
新增支持为当前线程转储虚拟机的原始堆快照。(API参考)
企业定制
基础通信
-
新增在蓝牙socket server端可以获取对端蓝牙设备虚拟MAC地址的功能(API参考)
-
新增获取对端蓝牙设备原始名字的功能。(API参考)
-
新增连接对端蓝牙设备可用profile的功能,如A2DP、HFP、HID等协议profile。(API参考)
-
新增持久化存储对端蓝牙设备虚拟MAC地址的功能。(API参考)
-
新增蓝牙BLE扫描围栏模式,可实现首次扫描到BLE广播报文时上报进入围栏,扫描不到BLE广播报文时上报离开围栏,并携带BLE广播报文信息。(API参考)
-
完善蓝牙搜索到的设备信息,新增获取设备RSSI(信号强度)、名称和类别信息。(API参考)
-
新增异步读取和发送蓝牙socket数据的功能,如果链路断开,会上报IO异常。(API参考)
位置服务
新增支持订阅蓝牙扫描信息上报事件用于辅助定位。(API参考)
网络管理
新增支持获取TLSSocket的文件描述符。(API参考)
剪贴板
剪贴板支持获取剪贴板的内容变化的次数。(API参考-ArkTS API、API参考-C API)
输入法
输入法框架新增支持设置显示预览文本时的回调(API参考),支持订阅输入法应用操作文本预览内容的事件(API参考)。
Web
-
支持获取上一次被点击区域的元素信息。(API参考)
-
支持设置Web组件是否开启字重跟随系统设置变化。(API参考)
-
支持Web内音视频可对接到播控中心。(API参考)
-
对接W3C规范,支持通过accept指定上传的文件类型。(API参考)
-
提供静态方法,清除应用中的资源缓存文件。(API参考)
-
新增支持以固定宽高设置同层渲染的元素。(API参考)
多模输入
新增支持设置处于前台的应用操作指定按键的回调。(API参考)
上传下载
资源调度
全球化
-
新增支持获取用户偏好温度单位和周起始日的能力。(API参考)
-
新增支持时间日期/数字精细化格式化的能力,便于更灵活的使用格式化能力。(API参考)
-
新增支持返回富文本的数字格式化能力。(API参考)
-
新增支持路径本地化显示的能力,可以根据输入语言判断路径是否需要镜像显示。(API参考)
测试框架
-
新增支持按照模糊匹配/正则匹配方式查找符合条件的控件id、type的能力。(API参考:id、type)
-
新增支持获取控件提示文本(API参考),并根据控件提示文本查找控件(API参考)。
-
新增支持横向纵向查找控件,仅适用于支持滑动的控件。(API参考)
完整更新说明:OpenHarmony-v5.1.0-release