IT之家 4 月 1 日消息,开源鸿蒙 OpenHarmony 4.1 Release 版本于昨日发布,开发套件同步升级到 API 11 Release。
相比 4.0 Release 版本,4.1 Release 有以下提升:
- 新增 4000 多个 API,应用开发能力更加丰富;
- 应用开发的开放能力以 Kit 维度呈现,提供给开发者更清晰的逻辑和场景化视角;
- ArkUI 组件开放性和动效能力得到进一步增强;
- Web 能力补齐,便于开发者利用 Web 能力快速构建应用;
- 分布式能力进一步增强了组网稳定性、连接安全性等;
- 媒体支持更丰富的编码,支持更精细的播控能力等等。
IT之家附 OpenHarmony 4.1 Release 更新日志如下:
ArkUI
- 支持自定义组件扩展需求:框架提供基础组件的 Modifier,开发者可继承实现自定义的 Modifier,然后通过 Modifier 实现链式调用和参数传递。Modifier 和自定义组件配合使用解决自定义组件传参的问题。Modifier 机制支持单点属性更新。
- Canvas 支持图形 GraphicContext,提升自绘制能力和性能。
- 文本类控制支持属性字符串
- 控件接入 AI 增强能力,包括:Image、Video、XCopmonent 和 Canvas 控件支持实体识别;文本内容信息识别支持提取时间(日程)、地理位置。
- 状态管理能力优化:
- 新增接口在保留当前接口基本功能的情况下,无需调用 aboutToBeDeleted 进行解注册,且不会导致内存泄漏问题;
- @StorageLink、@StorageProp、@LocalStorageLink、@LocalStorageProp 支持 undefined、null 和联合类型;
- private 的普通变量或状态变量处理策略增强;
- 支持深度观察,可对类中的属性进行观察。
- 弹窗类组件自定义能力增强:
- 通过调用 promptAction 提供的接口,支持自定义显示 / 退出动效;
- 配置弹框样式:设置背景色、圆角、宽度、高度、边框(颜色、宽度)、阴影(偏移、圆角、透明度、颜色)、气泡箭头大小设置;
- 显示 / 退出交互:所有弹框将要弹出 / 退出时提供回调,以及对是否允许弹框退出提供回调。
- 滑动场景,优化单帧平均耗时。
应用框架
- 应用正常退出时会清理 temp 目录,提升安全性并减少系统存储空间消耗。
- Extension 管控能力增强:新增了 ServiceExtension 的后台管控以及统一超时机制。
- ArkTS 卡片能力增强:新增了透明卡片、数据代理刷新、单色模式和锁屏卡片能力。
应用包管理
- 系统级 HSP 支持 OTA 升级;
- 新增了模块化开发包大小优化指导。
分布式软总线
- 构建软总线传输 QoS 接口能力,更优管控底层链路资源并提供选路决策,提升分布式业务体验。
- 子系统规格能力持续增强,选路增加连接可靠性确认能力、支持感知资源情况动态设置连接参数等。
- 完成子系统 DFX 机制增强,如:支持互联雷达打点、支持上层分布式业务统计以及支持对组网监控事件进行业务告警。
- IPC 支持引用技术查询和时间戳查询的接口,以及维测能力增强。
分布式数据管理
- UDMF 支持数据类型标准化定义与描述、支持标准数据类型查询、支持数据访问授权与管理、支持应用自定义数据类型。
- 新增限制数据不打分类分级标签则不允许跨设备同步。
- preferences 支持 uint8Array 格式数据流的修改、查询和持久化。
- RDB 支持在应用指定的沙箱路径子目录下创建数据库。
图形图像及窗口
图形图像
- 系统支持可变帧率,提供 API 供业务接入。
- 支持 HDR Vivid 视频的渲染与显示。
- 图形 NDK 能力增强,支持为 NativeImage 添加 OnFrameAvailableListener 回调,支持为 NativeWindow 设置色域,新增支持 opengl 扩展接口,Drawing 能力进一步完善等。
- 支持录屏不录制特定窗口,以及隐私窗口录制成全黑帧画面的能力。
- 支持调整系统分辨率。
- 支持系统根据动画调节帧率,支持开发者调节应用业务帧率。
- 动效能力增强,支持硬件挖空,屏幕圆角,Navigation 导航转场动画支持共享元素等。
- 图形渲染管线支持 vulkan 后端。
- 图形接入 Drawing 接口。
- nativeWindow 支持设置 metadata,适配 HDR 视频场景动态元数据随帧传递。
窗口
- 提供 Window stage 可交互状态通知。
- 提供全局搜索窗口类型。
媒体
- 支持通话类应用接入媒体会话。
- 支持投播组件的颜色自定义和状态监听。
- 音视频编解码支持 AVBuffer 结构,支持系统数据零拷贝。
- 解封装新增支持 AMR / MKV 规格。
相机
- 对相机 PipeLine 代码进行了优化,PipeLine 各流解耦,允许不同流配置不同的分辨率。
- 补全 USB 相机驱动功能,可控制 USB 相机自动 / 手动的曝光、对焦以及白平衡。
- 添加私有 TAG 通道,定义了私有 TAG 实现方式,允许设备厂商自己定义相机 Metadata TAG。
事件通知
- 支持系统应用发送实况窗类型的通知。
- Emitter:支持订阅字符串类型事件;发送事件时传递的数据支持可序列化类型;支持获取订阅者数量。
- 支持应用只接收自身发布的自定义公共事件。
公共基础类库
- 支持在 HAR / HSP 中创建 Worker。
- TaskPool 支持在执行过程中往宿主线程发送消息。
通信与连接
- NFC 提供 HCE 卡模拟能力。
- 在系统设置中可显示和设置默认支付应用处理,支持识别默认支付应用的变更。
- Wi-Fi 提供热点类型的查询,可查询当前连接热点是否为手机热点。
- 支持将 Wi-Fi 作为热点,并支持将接入的 STA 设备添加到黑名单的能力。
位置
- 支持通过 sendCommand 接口删除辅助数据,用于支持冷热启动测试。
- 支持地理编码,逆地理编码,查询地理编码服务状态等接口。
- 支持在 MDM 管控场景下,MDM 调用位置服务接口强制开启或关闭位置服务功能。
电源
- 对 DisplayPowerManager 的代码结构进行了调整,亮度管理功能模块变为独立的模块。
- 新增支持设备关机状态下充电动画显示,充电电量可变化更新。
安全
- 证书管理:支持开放用户 ca 证书路径、支持证书链校验和吊销检查能力、支持证书链构造的能力。
- 关键资产存储:针对应用开发者需要在本地加密存储关键敏感的短数据(如用户的账号密码、银行卡号等)诉求,系统提供关键资产加密存储的能力,以及相应的安全访问控制能力,包括:
- 支持关键资产写入,读取。
- 支持关键资产更新。
- 支持关键资产安全销毁。
- 支持关键资产访问控制。
程序访问控制
权限管理
- 支持在 UIExtensionAbility 界面上拉起权限弹窗。
- 权限使用记录增加锁屏状态记录
- 支持应用在使用期间弹出允许权限的选项。
DLP 权限管理服务
- 支持以时间维度对受控文件进行访问控制。
- 支持文档创建者在任意场景下可离线打开文档。
- 支持帐号未登录状态下,弹框进行帐号登录验证。
- 提供沙箱应用读取原始应用数据的机制和通路。
ArkCompiler
- 动态 import 能力支持变量作为参数。
- 提供运行时对类方法插桩和替换的 API。
- 支持用“#”声明类的私有成员。
- 支持 Sendable 类的跨线程序列化传输。
- 支持 Ecmascript2022 规范。
资源管理
- 支持 module.json 配置文件中通过右键菜单添加资源索引。
- 支持对 resfile 资源目录打包编译。
- 支持基于资源名称返回资源 id。
USB
- 补齐 USB 服务设备管理能力,支持全设备、按设备类型、指定设备的禁用和解禁,并支持重启、热插拔场景下的禁用策略持久化能力。
- 优化 USB 服务鉴权方式,新增访问控制权限,细化系统服务、系统应用的 USB 调用权限。
- 修复 USB 服务批量传输、控制传输的接口漏洞,支持传输接口端到端可用,性能满足要求。
多模输入
- 支持双击按压电源键拉起 ability。
- 支持自定义鼠标光标。
- 多模输入设置鼠标样式优化。
- 支持按键监听按优先级处理的能力。
- 支持光标大小、颜色的设置,支持动画光标样式。
泛 Sensor
- 支持传感器数据精度的上报,使系统可感知不同设备传感器精度,优化应用适配。
- 新增传感器、振动相关能力的 C API 接口。
- 自定义振动格式进行扩展,新增支持 curve 字段描述复杂的连续振动效果。
设备管理
小型设备平台上支持 @ohos.deviceInfo.d.ts 的相关 API。
测试框架
自动化测试框架 arkxtest
- 支持模拟鼠标滚轮滑动、滑动左右键双击等模拟 UI 操作能力。
- 支持 Shell 命令方式进行 UI 模拟操作能力,支持点击、滑动、双击、文本输入等常用操作能力。
- 提升 UI 测试框架查找控件信息效率。
- 增强 dump 信息内容,新增文字大小、文字颜色信息。
- 增加异步监听能力,监听系统弹框事件,获取其文本信息并返回。
测试调度框架 xDevice
- 新增单次测试过程中自动复测失败项能力,并支持配置复测次数,最终生成一份测试报告。
- 优化测试报告,统一轻量系统、小型系统、标准系统的测试报告头信息。
- 新增支持测试套测试资源本地不存在时,可配置远程下载地址。
稳定性测试工具 WuKong
- 新增 page 页面和 Ability 页面的配置能力,支持在测试过程中配置页面屏蔽,提升测试效率。
- 新增单一场景压测能力,支持针对某一控件循环注入操作事件,并支持配置循环次数。
性能开发工具 SmartPerf Host
- 新增支持 hilog、hisysevent 的采集、分析和展示。
- 新增支持 hiperf event count 的分析和展示。
- 提升抓取 trace 的能力,动态可暂停可调试。
- 新增支持线程唤醒关系树的快速跟踪。
性能测试工具 SmartPerf Device
- 优化已有抓取内存、CPU 数据的能力。
- 新增启动停止采集的命令。
- 新增定时获取截图、分辨率和刷新率的采集能力。
DFX
- 提供 CPU、GPU、内存、IO、网络、trace 采集能力。
- 故障类型数据生态开放。
- HiDebug 支持应用运行时资源信息采集。
- HiProfiler 支持高功耗应用在 CPU、GPS、AUDIO、DISPLAY、GPU 的深入调优;支持动效场景耗时分析(启动、退出、转屏、转场、滑动);支持 ftrace 数据轻量化采集。
- HiProfiler / HiDumper 联合提供内存进程扩展内存信息的采集与增强。
- HiTrace 支持轻量化及长时间采集。
- HiPerf 支持符号解析和栈聚合能力。
上传下载
- 支持多个前端模式任务与后台模式任务共享任务数量的能力。
- 支持监听后台任务的状态和进度。
- 支持任务的优先级,同样是前端(或者后台)模式的任务,也可以使用优先级来调整执行顺序。
- 自动使用系统级代理。
输入法框架
- 优化了 Webview 获焦场景的输入法体验。
- 优化了窗口焦点切换场景下的输入法体验。
- 新增支持安全模式输入法。
- 新增支持 Logo 键 + Space 切换输入法。
- 新增输入法切换列表控件。
时间时区
- 支持通过系统参数配置 NTP 服务器地址,最多支持配置 5 个。
- 支持通过系统参数配置时间时区自动同步开关。
全球化
- 支持应用语言列表的获取。
- 支持日期快速计算。
- 支持文本时间识别。
- 支持设置和获取应用偏好语言。
- 支持时段按不同国家或地区的习惯进行表达。
AI
MindSpore Lite 轻量化端侧学习能力开放 C API。
升级
- 支持差分多线程升级的能力。
- 增加升级过程中硬件故障重试机制,提升升级可靠性。
- 正常模式下的语言参数能同步更新到升级阶段使用的 updater 简化系统中。
Web
- 新增支持 Web 的无障碍能力。
- 新增页面跳转事件上报接口。
- 支持应用及网络代理、应用证书管理。
- 支持同层渲染能力(仅限 xcomponent、button 等部分组件)。
- 组件支持 DOM 构建完成后执行提前被注入的 JS 脚本。
- 开放 RegisterJavaScriptProxy、RunJavaScript 能力的 C API 接口。
- 资源拦截特性支持设置为 ArrayBuffer 数据类型。