开源鸿蒙 OpenHarmony 5.0.0 Release 发布:ArkUI 开放自定义节点渲染能力、终端用户可创建应用分身等
IT之家 9 月 30 日消息,开源鸿蒙 OpenHarmony 5.0.0 Release 版本于昨日发布,相比 OpenHarmony 5.0 Beta1,Release 版本做出了如下特性新增或增强:
应用框架新增更多生命周期管理能力、提供子进程相关能力
ArkUI 进一步开放自定义节点的渲染能力
应用包管理提升了应用打包效率,丰富终端用户使用应用可操作场景(如创建应用分身、创建桌面快捷方式等)
分布式数据管理能力进一步增强,在保证数据合理共享的前提下增强安全性
文件管理进一步完善 Picker 的能力,对文件资源做到合理管控权限和合理使用
媒体在音视频播放、录制方面能力进一步增强,新增支持多个音视频、图片的编码格式,支持更细节的播控操作
IT之家附 OpenHarmony 5.0.0 Release 更新日志如下:
应用框架
支持创建 JS / Native 子进程,开发者可以把耗时操作放到子进程中执行。
Ability 生命周期监听支持 onNewWant 等更多生命周期。
支持 Ability 在不主动销毁自己的情况下,将 AbilityResult 结果返回给调用方。
Context 支持 Sendable 对象转换,用于多线程传递 Context。
支持应用级别的字体设置。
ArkUI
进一步增强了组件自定义能力,新增组件 modifier、ContentModifier 和 DrawModifier,支持基于已有组件新增属性、自定义组件内容和完全自绘制。
开放了自定义节点和 Native 的渲染节点。自定义节点是指具备底层实体节点的部分基础能力的节点对象,这些节点能够通过自定义占位节点与原生组件进行混合显示。自定义节点可以具备单个节点的测算布局、设置基础属性、设置事件监听、自定义绘制渲染内容的自定义能力。包括 FrameNode、RenderNode、BuilderNode 三类对象。详细如下:
BuilderNode:提供能够挂载原生组件的自定义节点 BuilderNode。
FrameNode:提供自定义节点 FrameNode,表示组件树的实体节点。NodeController 可通过 BuilderNode 持有的 FrameNode 将其挂载到 NodeContainer 上,也可通过 FrameNode 获取 RenderNode,挂载到其他 FrameNode 上。
RenderNode:提供自绘制渲染节点 RenderNode,支持在 Native 侧完成自定义绘制需求。
NodeController:提供 NodeController 用于实现自定义节点的创建、显示、更新等操作,并负责将自定义节点挂载到 NodeContainer 上。
适用于三方框架的组件 NDK 能力增强,涵盖组件创建、属性设置、事件注册、自定义能力、组件树构建。
Navigation 组件能力增强,包括单双栏切换动效、转场动画的打断和接续,以及页面生命周期的监听能力。
控件视觉、动效和交互刷新,以及支持适老化、镜像语言和屏幕朗读。
菜单和弹窗类组件支持开发者组定义颜色、形状、圆角、大小、位置和阴影。
应用包管理
支持应用分身的接入和管理,应用可以通过简单的配置即可接入应用分身。
支持桌面快捷方式,用户可以动态添加快捷方式到桌面。
支持系统级 HSP 和 ArkWeb 独立升级能力,支持独立更新预置的应用。
支持 OTA 升级异常中断后恢复机制,OTA 升级流程中出现断电、服务 crash,重启时恢复 OTA 流程,继续安装、更新应用;
提供 cache 目录自动清理能力,支持存储管理在设备空间不足时自动清理 cache 目录。
支持 Native 软件包,提供 Native 软件包的打包、安装和卸载能力。
打包工具打包 App 时,对 App 包整体压缩,减少上架 App 的包大小。
分布式软总线
IPC 提供 CAPI 基础接口能力,包括序列化 / 反序列化、消息收发处理接口等。
分布式数据管理
RelationalStore&Preferences 支持共沙箱数据的访问方式。
RDB 支持只读方式打开。
UDMF 支持 UTD 与 MIME Type 的兼容性查询。
迁移场景数据资产同步优化。
支持 E 类加密的分布式数据管理。
倒排索引构建场景,支持应用指定外挂分词器。
基于 NDK 的 C API 支持 UDMF 数据跨设备拖拽能力。
分布式硬件
提供 ACL 精细化管理:根据业务的设备、用户、账号、包名对 ACL 进行精细的增、删、改、查操作。
质量加固,提高功能稳定性和可靠性。
分布式 DeviceProfile
设备数据分级重构,提高对数据增删改查的执行效率。
质量加固,后台建立链接功能优化,提高稳定性和可靠性。
文件管理
支持文件增量备份的能力。
提供备份应用获取备份数据量详情的接口,允许应用上报待备份数据记录数(如:短信条数),支持备份恢复过程中的异常事件上报。
新增支持 SA 接入备份恢复框架。
增强 Picker 能力:提供 Audio Picker 一次多选的能力;新增 Download Picker,应用可直接将文件保存到“Download / 包名级”目录下,且后续对该目录的访问无需申请权限,补齐浏览器等应用的下载体验。
支持应用通过申请权限等方式获取公共目录(Download、Desktop、Document)的访问权限(部分设备支持,需通过 syscap 判断),未申请权限无法直接访问。
支持应用通过 FilePicker 的方式选择文件或目录并获取对该目录或文件的临时访问权限,并支持持久化访问能力,未持久化的文件或目录,在应用退出后无法再继续访问。
新增 CreateStream、fdopenStream 等流式的文件访问接口。
新增设置和获取扩展属性的接口。
图形图像及窗口
图形图像
基于 NDK 的 C API 的 NativeImage 模块新增支持 NativeWindowBuffer。
基于 NDK 的 C API 新增支持 NativeVsync,支持单帧多次回调能力。
基于 NDK 的 C API 新增支持可变帧率的能力。
ColorSpaceManager 支持 sendable 能力。
字体引擎支持文字阴影能力,支持下划线对齐。
图形绘制接口完善绘制相关能力。
窗口
提供 display.getDisplayByIdSync 接口配合多屏特性使用,支持应用通过 id 同步获取 Ability 所在屏幕信息。
支持获取屏幕可用区信息。
支持在 ArkUI 中根据页面颜色设置状态栏文本颜色。
媒体
音频
音频焦点增强:支持焦点会话,允许应用设置与其他应用的并发播放策略,允许应用静音播放时不打断后台播放中的音频。
新增支持 DP、USB 耳机等更多的音频发声设备,支持切换默认发声设备功能(听筒和扬声器)。
新增视频通话的音频流类型,优化该场景下的音频流播放体验。
新增统一音量组件,方便使用、降低开发复杂度。
支持应用内投播组件样式的自定义。
支持铃音列表查询和自定义铃音设置。
播放
播放器起播、Seek 性能优化,降低时延。
新增多种播放协议或格式:支持 DASH 流媒体协议播放;支持 AMR、APE、WAV PCM-MULAW 格式音频播放。
新增多种播放控制的能力:支持多音轨视频播放、播放视频过程更换输出 Surface、静音播放、精准 Seek、设置播放区间、字幕。
支持配置流媒体缓冲大小;支持音频 Offload 模式。
流媒体播放能力增强:优化流媒体缓存策略,减少卡顿。
录制
- 标签鸿蒙相关文章