春风轻拂的4月,OpenAtom OpenHarmony(以下简称"OpenHarmony")4.1 Release版本如期而至,开发套件同步升级到API 11 Release。
相比4.0 Release版本,4.1 Release版本应用开发的开放能力以全新的Kit维度呈现,提供给开发者更清晰的逻辑和场景化视角;新增4000多个API,应用开发能力更加丰富;ArkUI组件开放性和动效能力得到进一步增强;Web能力持续补齐,便于开发者利用Web能力快速构建应用;分布式能力进一步增强了组网稳定性、连接安全性等;媒体支持更丰富的编码、更精细的播控能力等。期待开发者积极体验新特性并给我们提出宝贵意见。
本文仅描述新版本的部分新特性,请您参考OpenHarmony 4.1 Release Notes了解版本所有新增及增强功能。
OpenHarmony 4.1 Release Notes
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v4.1-release.md
ArkUI
- 新增NodeContainer开放命令式的渲染节点,提升自定义绘制能力。
- 文本和容器类组件能力增强
▸ TextInput/Text支持按字符截断。
▸ TextInput和TextArea提供获取光标位置接口。
▸ 支持智能分词、新增依据分词结果插入光标逻辑以及替换分词算法。
▸ ImageSpan支持自定义长按菜单事件、控件支持缩进/对齐。
▸ List:ScrollToIndex支持滚动到ListItemGroup中指定ListItem的能力。 - 控件AI化能力能力增强
▸ TextInput及相关文本输入控件支持视觉输入。
▸ Text/RichEditor相关文本控件支持文本实体识别。 - 状态管理功能增强
▸ 支持undefined和null,以及联合类型。
▸ ListItem组件在ForEach/LazyForEach中属性可更新方法。
▸ 支持@LocalStorageLink/LocalStorageProp 在非激活状态不更新。 - 新增Chips操作块组件,TextInput、TextArea、List、Grid、Search、CheckBox、Slider、Image、Menu、半模态弹窗等组件的样式、交互和动效增强。
- 弹窗类和导航类自定义能力增强
▸ 支持开发者自定义弹出菜单的圆角、阴影、气泡箭头。
▸ bindContextMenu支持isShow参数控制显隐。
▸ Navigation支持隐藏NavBar。
▸ Navigation组件提供获取路由栈每个页面详细信息,支持根据页面信息销毁或显示页面。 - 提供全新Style样式对象和组件Style样式属性方法,支持样式复用和动态切换能力,包括:
▸ 通用属性样式支持Style样式对象。
▸ 组件特有属性样式支持Style样式派生对象。
▸ 多态样式切换到Style样式对象。
Web
• 新增支持Web的无障碍节点查询和上报能力。
• 新增页面跳转事件上报接口。
• 支持应用级网络代理、应用证书管理。
• 支持同层渲染能力(仅限XComponent、Button等部分组件)。
• 组件支持DOM构建完成后执行提前被注入的JS脚本。
• 开放RegisterJavaScriptProxy、RunJavaScript能力的C API接口。
• 资源拦截特性支持设置为ArrayBuffer数据类型。
图形图像及窗口
图形图像
- 系统支持可变帧率,提供API供业务接入。
- 支持HDR Vivid视频的渲染与显示。
- 图形NDK能力增强,支持为NativeImage添加OnFrameAvailableListener回调,支持为NativeWindow设置色域,新增支持OpenGL扩展接口,Drawing 能力进一步完善等。
- 支持录屏不录制特定窗口,以及隐私窗口录制成全黑帧画面的能力。
- 支持调整系统分辨率。
- 支持系统根据动画调节帧率,支持开发者调节应用业务帧率。
- 动效能力增强,支持硬件挖孔、屏幕圆角、Navigation导航转场动画;支持共享元素等。
- 图形渲染管线支持Vulkan后端。
- 图形接入Drawing接口。
- NativeWindow支持设置metadata,适配HDR视频场景动态元数据随帧传递。
窗口
- 提供Window stage可交互状态通知。
- 提供全局搜索窗口类型。
安全
- 证书管理:支持开放用户CA证书路径、支持证书链校验和吊销检查能力、支持证书链构造的能力。
- 关键资产存储:针对应用开发者需要在本地加密存储关键敏感的短数据(如用户的账号密码、银行卡号等)诉求,系统提供关键资产加密存储的能力,以及相应的安全访问控制能力,包括:
▸ 支持关键资产写入、读取。
▸ 支持关键资产更新。
▸ 支持关键资产安全销毁。
▸ 支持关键资产访问控制。
程序访问控制
权限管理
- 支持在UIExtensionAbility界面上拉起权限弹窗。
- 权限使用记录增加锁屏状态记录。
- 支持应用在使用期间弹出允许权限的选项。
DLP权限管理服务
- 支持以时间维度对受控文件进行访问控制。
- 支持文档创建者在任意场景下可离线打开文档。
- 支持帐号未登录状态下,弹框进行帐号登录验证。
- 提供沙箱应用读取原始应用数据的机制和通路。
分布式数据管理
- UDMF支持数据类型标准化定义与描述、支持标准数据类型查询、支持数据访问授权与管理、支持应用自定义数据类型。
- 新增限制数据不打分类分级标签则不允许跨设备同步。
- Preferences支持Uint8Array格式数据流的修改、查询和持久化。
- RDB支持在应用指定的沙箱路径子目录下创建数据库。
ArkCompiler
- 动态import能力支持变量作为参数。
- 提供运行时对类方法插桩和替换的API。
- 支持用"#"声明类的私有成员。
- 支持Sendable类的跨线程序列化传输。
- 支持Ecmascript2022规范。
测试框架
自动化测试框架arkxtest
- 支持模拟鼠标滚轮滑动、滑动左右键双击等模拟UI操作能力。
- 支持Shell命令方式进行UI模拟操作能力,支持点击、滑动、双击、文本输入等常用操作能力。
- 提升UI测试框架查找控件信息效率。
- 增强dump信息内容,新增文字大小、文字颜色信息。
- 增加异步监听能力,监听系统弹框事件,获取其文本信息并返回。
测试调度框架xDevice
- 新增单次测试过程中自动复测失败项能力,并支持配置复测次数,最终生成一份测试报告。
- 优化测试报告,统一轻量系统、小型系统、标准系统的测试报告头信息。
- 新增支持测试套测试资源本地不存在时,可配置远程下载地址。
稳定性测试工具WuKong
- 新增page页面和Ability页面的配置能力,支持在测试过程中配置页面屏蔽,提升测试效率。
- 新增单一场景压测能力,支持针对某一控件循环注入操作事件,并支持配置循环次数。
性能开发工具SmartPerf Host
- 新增支持hilog、hisysevent的采集、分析和展示。
- 新增支持hiperf event count的分析和展示。
- 提升抓取trace的能力,动态可暂停可调试。
- 新增支持线程唤醒关系树的快速跟踪。
性能测试工具 SmartPerf Device
- 优化已有抓取内存、CPU数据的能力。
- 新增启动停止采集的命令。
- 新增定时获取截图、分辨率和刷新率的采集能力。