OpenHarmony 4.0 Beta1 发布
OpenAtom OpenHarmony(简称“OpenHarmony”) 4.0 Beta1 版本现已发布,在3.2 Release版本基础上,继续提升标准系统的ArkUI、应用框架、图形媒体等子系统能力,并提供首批API Level 10接口。
作为OpenHarmony 4.0的首个Beta版本,其推出了系列新特性。部分内容如下:
应用框架
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. 不同相机应用使用同一个摄像头场景下,相机框架具备优先级管控和互斥策略。
更多详情可查看 Release Notes。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python 3.11.4、3.10.12、3.9.17、3.8.17、3.7.17 和 3.12.0 beta 2 现已可用
Python 3.11.4、3.10.12、3.9.17、3.8.17、3.7.17 和 3.12.0 beta 2 现已可用。3.10 在此次加入了久负盛名的纯安全版本系列;同时,3.7 的生命周期即将结束。除非 6 月发布另一个安全版本,否则 3.7.17 将是 Python 3.7 的最终版本。 安全修复程序 3.7 - 3.12:gh-103142:Windows 和 Mac 安装程序中使用的 OpenSSL 版本已升级到 1.1.1u 以解决 CVE-2023-2650、CVE-2023-0465、CVE-2023-0466、CVE-2023-0464 ,以及之前在 1.1.1t (gh-101727) 中修复的 CVE-2023-0286、CVE-2022-4303 和 CVE-2022-4303。 3.7 - 3.11:gh-102153:urllib.parse.urlsplit()现在根据 WHATWG 为响应 CVE-2023-24329 定义的 URL 规范去除前导 C0 控制和空格字符。 3.7 - 3.11:gh-99889:修复了uu.decode()中的一...
- 下一篇
每日一博 | 如何做架构设计
也许您对软件设计存在一些疑惑,或者缺乏明确思路,那么本文将非常适合您。 1、设计很重要 我们可以看一下周边的事物,那些好的东西,他们并不会天然存在,都是被设计出来的,因此设计就是创造和改善事物的重要过程。设计的重要之处在于,最初的设计往往决定最终的结果,甚至决定着事物的长期的发展。例如两个品牌的手机之间,他们可以使用同一个代工厂,但他们差异在设计时就已经决定了。 架构设计也是如此,我见过很多的软件系统,他们经过了很多年的演进,在没有完全重构的情况下,始终无法改变最初设计模样,最初的设计决定了长期的发展。而对于业务深度耦合的系统,重构成本非常高,风险也非常大,变化也更加不确定,所以要更加重视设计。 我们要寻求更好的技术方案,推动架构的良性演进,每一步都是经过深度思考的,而架构设计方法就是帮助我们思考的框架。 通过做架构设计,我们应该提升软件的质量和效率,降低风险和成本。 2、架构设计的目的是什么? 是为了解决软件系统复杂度带来的问题(架构的目标是用于管理复杂性、易变性和不确定性,以确保在长期的系统演化过程中,一部分架构的变化不会对其它部分产生不必要的负面影响。这样做可以确保业务和研发效率...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16