OpenHarmony 4.0 Beta1 发布,邀您体验
初夏之际,OpenAtom OpenHarmony(简称“OpenHarmony”) 4.0 Beta1 版本如期而至。4.0 Beta1 版本在 3.2 Release 版本基础上,继续提升标准系统的 ArkUI、应用框架、图形媒体等子系统能力,并提供首批 API Level 10 接口。
作为 OpenHarmony 4.0 的首个 Beta 版本,推出了系列新特性。期待社区开发者踊跃体验新特性,贡献智慧与力量,共同促进未来 4.0 Release 版本的成熟,亲自参与并见证 OpenHarmony 4.0 版本的发展历程。
下文介绍下 OpenHarmony 4.0 Beta1 版本部分新特性。想了解该版本的完整特性信息,请您前往 OpenHarmony 4.0 Beta1 Release Notes 了解。生态伙伴商用设备或软件发行版通过兼容性测评请使用 OpenHarmony 3.2 Release 版本。
OpenHarmony 4.0 Beta1 Release Notes
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v4.0-beta1.md
应用框架
1. Extension 能力最小化管理,支持各类 Extension 根据业务场景开放 API,防止敏感 API 的调用。
2. 支持数据或文件的 URI 临时授权,应用可以把自己文件的读写权限授权给其他应用。
3. 支持了 UIExtension 机制,用于实现有界面的 Extension,UIExtension 的界面可以嵌入到调用方应用的窗口上显示。目前已构建 UIExtension 基础能力:
● 支持统一的 UIExtension 模板,接口含义清晰,服务开发标准化。
● 支持原生默认的 Extension 界面展示,方便开发者快速实现 Extension 功能,同时也提供界面定制能力。
4. 支持原子化服务的分享,应用开发者可以使用 UIAbility 组件提供的方法,设置要分享的数据。用户可以通过分享框把原子化服务和卡片分享到另外一台终端设备。
ArkUI
1. 组件属性变化支持过渡动效,如 Divider 组件配置分割条颜色和颜色属性时使用过渡动效,提升组件属性变化时的用户体验。
2. Text/Image/Video/ListItem/GridItem 组件支持用户长按组件默认进入拖拽行为,支持开发者关闭默认拖拽,提升开发者开发效率。
3. 自定义弹框支持蒙层颜色、弹出动画自定义(如允许开发者设置弹出动画效果的相关参数),增强弹框的开发者自定义能力。
4. 支持文本组件中返回输入字符串宽高的能力,用于字符串折叠显示时,鼠标悬浮可弹出字符串完整提示框。
应用包管理
1. 支持应用包不解压安装的特性,优化了系统启动性能和应用安装性能。
2. 支持三方生态应用使用系统应用提供的共享包能力,三方应用不需要在自身的安装包里集成相关内容(包括代码、资源以及.so 文件等),从而达到减少生态应用的集成成本以及更新成本的目的。
分布式数据管理
1. 支持系统应用通过数据管理服务代理静默访问其他系统应用的 DataShareExtension 数据,支持通过数据管理服务代理访问 Single 模式应用 DataShareExtension 的数据。
2. DataShare 客户端提供按 URI 前缀订阅 DataShareExtension 数据变化的能力,被订阅的 URI 前缀下任何 DataShareExtension 数据发生变化都会通知 DataShare 客户端。
3. 新增统一数据管理框架(Unified Data Management Framework, UDMF),支持数据标准化模型、设备内数据拖拽、UDMF 数据存储适配、权限管理、生命周期管理。
文件管理
1. 支持文件分类视图管理能力,图库等应用以相册方式管理媒体文件(图片、视频无需关注具体存储位置),提供相册内添加、移除文件等功能不涉及具体的 FileIO 行为。API 接口待后续版本开放。
2. 提供增强的 FileIO 访问能力,支持 randomAccessFile、moveDir、copyDir、watcher 能力。
3. 提供基于 URI 的文件临时授权访问及取消授权能力,支持文件的跨应用本地授权或跨设备授权。
图形显示
1. 支持组件自绘制内容的属性动画,支持组件出现消失转场动画。
2. 对统一渲染模式进行了性能优化,包含 IPC 性能优化(如通过共享内存方式传递渲染资源降低 IPC 通信量)、支持控件级别遮挡剔除仅需渲染上层控件降低 GPU 渲染工作量,使能硬件合成器提高合成能效等。
3. 图片编解码支持 SVG 解码,GIF 格式完善参数解析,如总帧数、时间间隔等。
窗口
1. 支持监听窗口的获焦状态:之前版本应用开发者仅可以监听 WindowStage 的获焦状态,但针对系统窗口和应用子窗口的获焦事件无法监听。现在,应用开发者可以通过在 window 上注册 windowEvent 的方式,监听单个窗口的获焦、失焦和显示隐藏状态。
2. 支持将子窗口 z 轴顺序调整到顶层:之前版本对于应用中创建的多个子窗口,系统总是将最后显示窗口显示在所有子窗口的最顶层。同时,当前系统中默认会将用户触摸或者鼠标点击的窗口提升至所有子窗口的最顶层。现在,通过 window 对象的 raiseToAppTop 方法,应用开发者可以自行将某个子窗口调整至 WindowStage 多个子窗中的最顶层。
3. 重构沉浸式实现方式,优化应用打开、退出、跳转下的动画效果:之前版本,应用打开时全屏应用窗口大小默认不包含状态栏和导航栏的区域,除非应用调用沉浸式接口(通过 setWindowLayoutFullScreen 或者 setSystemBarEnable)。沉浸式应用在打开的过程中调用上述接口,会导致打开动画出现跳变,影响应用打开和应用间跳转动画的体验。新版本上,无论是否设置沉浸式显示,全屏显示的应用窗口大小都包含状态栏和导航栏的区域,而非沉浸式应用的状态栏、导航栏避让会通过 ArkUI 限制应用显示区域完成。
媒体
音频能力
1. 支持通过 native 接口进行音频播放和录制。
2. 支持查询或监听当前优先级最高的播放设备。
3. 支持音频焦点,应用播放音频时无需手动申请焦点,系统会在后台自动申请焦点,并自动执行焦点策略(如暂停、淡出、淡出恢复等);应用仅需要注册焦点事件监听函数,以接收焦点事件并更新状态,如暂停时停止进度条。
播控框架
1. 支持媒体提供方和控制方之间传递自定义媒体信息,应用可扩展媒体内容展示方式,如媒体控制方可要求媒体提供方按特殊形式显示歌曲歌词。
2. 支持媒体播放列表的框架能力,媒体提供方提供播放列表内容,媒体控制方获取播放列表内容并可以选择任一媒体内容进行播放。
3. 支持播放历史记录的框架能力,媒体会话框架提供查询历史播放应用的列表,列表项按播放先后顺序排序(包含当前播放的和已退出的应用)。
媒体播放
1. 支持 HLS 直播以及基于 datasource 的流式播放能力、支持 H.265 视频硬解播放能力。
2. 支持播放音效、音频属性设置,支持带旋转角度视频的自动旋转播放。
3. 支持多音轨获取与切换、支持外挂字幕设置与切换。
相机
1. 完善 ArkTS API 的错误码和异常处理机制,使开发者可以通过查询错误码定位错误信息。
2. 支持前置预览镜像能力,默认情况下,前置预览画面呈镜像状态。
3. 不同相机应用使用同一个摄像头场景下,相机框架具备优先级管控和互斥策略。
评论