初夏之际,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-...
应用框架
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. 不同相机应用使用同一个摄像头场景下,相机框架具备优先级管控和互斥策略。