0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony 4.0 Release版本发布,新增4000+ API

话说科技 ? 来源:话说科技 ? 作者:话说科技 ? 2023-11-13 11:31 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近日,OpenHarmony 4.0 Release版本如期发布,开发套件同步升级到API 10。相比3.2 Release版本,OpenHarmony 4.0 Release版本新增4000+个API,应用开发能力更加丰富;HDF新增200+个HDI接口,硬件适配更加便捷;持续优化图形框架、方舟编译器(ArkCompiler)、ArkUI组件定制化能力和组件动效能力,用户交互体验得到进一步提升;分布式硬件支持的范围扩大到音频和输入领域;分布式数据为开发者数据分享带来了全新的统一数据管理框架。另外,该版本在媒体、安全和隐私保护等方面也得到了进一步增强。以下为部分特性更新:

图形框架及窗口

图形

稳定流畅:

对统一渲染模式进行了性能优化,包含基于共享内存的IPC性能优化、基于遮挡剔除和缓存等技术的渲染性能优化、基于硬件合成器能力的能效提升等。

图形处理依赖的渲染库升级至Skia 0310新版本,提升了渲染性能。

极致动效:

支持组件自绘制内容的属性动画。支持组件设置出现和消失的转场动画。

支持取色能力,支持渐变模糊,支持边缘像素扩展,支持渐亮效果,支持多种模糊材质能力。

图片能力增强:

图片编解码能力增强:支持SVG格式图片解码,ico格式图片解码,GIF增量解码,jpeg_IDCT缩放解码,png图片编码,图片exif信息拓展。

图片接口能力增强:支持Pixelmap JS侧的序列化反序列化,提供ImageReceiver和图片解码NDK接口。

窗口

支持监听窗口的获焦状态,可以监听单个窗口的获焦、失焦和显示隐藏状态。

支持应用将子窗口z轴顺序调整到当前应用窗口中的顶层。

支持查询屏幕的显示模式(镜像、扩展),提供停止镜像和停止扩展API。

优化了display模块的参数值获取方式,从原先软件方式优化为从硬件直接获取真实值。

支持通过窗口设置将屏幕亮度恢复默认值。

重构沉浸式实现方式,优化应用打开、退出、跳转下的动画效果。

ArkCompiler

高级语言调试调优:

热重载性能优化,支持多hap等场景。

支持多实例调优。

高级语言并发增强:

TaskPool支持任务中断和取消,支持定义任务组(TaskGroup),支持对任务的状态和调度信息进行打点,支持超长等待的任务进行识别和恢复。

TaskPool支持优先级设置及自动扩缩容算法

高级语言优化编译:

正式定义ArkTS语法规则并新增ArkTS语法检查,在使用DevEco Studio进行代码编译时会对不符合ArkTS语法规则的代码进行告警。

AOT优化编译支持端侧闲时编译,增强编译优化进一步提升性能。

PGO支持采集运行期的类型和函数热点信息,支持AOT优化编译JS代码,提升动态JS代码的运行性能。

应用框架

Stage模型新增6类Extension,并完善了以下特性:

新增Extension能力最小化管理,支持各类Extension满足业务场景需要。

新增UIExtension机制,用于实现有界面的Extension,UIExtension的界面可以通过UIExtension组件的方式嵌入到调用方应用的窗口上显示。

支持原生默认的Extension界面展示,方便开发者快速实现Extension功能,同时也提供界面定制能力。

提供自定义操作业务的ActionExtension、分享业务的ShareExtension、备份恢复业务的BackupExtension、驱动业务的DriverExtension、打印业务的PrintExtension。

ArkTS卡片能力增强,支持静态卡片配置、静态图展示,有效降低卡片内存资源占用,支持通过数据代理的方式刷新内容,有效降低卡片功耗。

支持元服务的分享,应用开发者可以使用UIAbility组件提供的UIAbility.onShare()生命周期方法,设置要分享的数据。用户可以通过分享框把元服务和卡片分享到另外一台终端设备。

跨端迁移能力增强,支持调用接口来动态打开和关闭迁移能力。应用可动态选择迁移成功后是否迁移页面栈,以及源端是否退出。

ArkUI

基础组件增加或增强:

新增UIExtension组件,用于将一个应用通过UIExtensionAblity的方式,嵌入显示到另一个应用内。

绘制组件Rect/Circle/Ellipse/Line/Polyline/Polygon/Path/Rect/Shape支持偏移、裁剪、遮罩等通用属性,增强绘制组件基础功能。

自定义弹框支持蒙层颜色及弹出动画自定义,如允许设置弹出动画效果的相关参数,增强弹框的开发者自定义功能。

ColumnSplit分隔线支持可拖动,增强组件基础功能。

Refresh组件支持自定义下拉刷新能力,允许设置下拉刷新时的显示内容,增强组件基础能力。

支持文本组件中返回输入字符串的宽高,用于字符串折叠显示时,鼠标悬浮可弹出字符串完整提示框,增强文本组件基础功能。

ArkTS/JS卡片支持UI渲染完成的回调,方便获取渲染完成的状态并进行下一步处理。

基础组件特性增强,提升终端用户的体验,包括弹框支持通过键盘ESC键逐层退出、ListItem支持长距离左滑删除手势、ContextMenu支持分段显示能力等。

半模态组件支持设置高度自适应。

动画效果增加或增强:

支持组件属性变化的过渡动效,如组件的尺寸、背景色、透明度等属性发生变化时通过过渡动效衔接变化前后的状态,提升组件属性变化时的动画体验。

支持给组件设置球面高阶属性、下边缘像素扩展、取色模糊、G2圆角、阴影、渐变等高阶图形属性,丰富高阶动画效果。

布局属性、背景图片大小位置属性、显隐属性支持隐式动效。

List新增支持scrollToIndex动效、Tasb模糊动效、Popup出现/消失动效。

支持自定义动画,满足多种多样的动画诉求。

分布式数据管理

DataShare客户端提供按URI前缀订阅DataShareExtension数据变化的能力,被订阅的URI前缀下任何DataShareExtension数据发生变化都会通知DataShare客户端。

新增统一数据管理框架(Unified Data Management Framework, UDMF),支持数据标准化模型、设备内数据拖拽、UDMF数据存储适配、权限管理、生命周期管理。UDMF框架下支持应用的跨设备拖拽,在此过程中允许对分布式目录中的文件临时授权。

提供RDBstore NDK接口 :包含增/删/改/查/事务、数据加密、数据分级保护、备份/恢复能力。

Key-Value和分布式数据对象支持根据数据量自动选择数据同步的通道。系统会根据数据量大小自动选择蓝牙通道或基于Wi-Fi的P2P通道进行数据的同步。

文件管理

支持文件分类视图管理能力,图库等应用以相册方式管理媒体文件(图片、视频无需关注具体存储位置),相册内添加、移除文件等功能不涉及具体的File IO行为。支持三方应用通过PhotoAccessHelper接口获取相册列表,访问相册内图片、视频等文件。

提供增强的FileIO访问能力,支持randomAccessFile、moveDir、copyDir能力。

提供基于URI的文件临时授权访问及取消授权能力,支持文件的跨应用本地授权或跨设备授权。

支持公共图片文件在设备端和云端进行同步(设备登录的帐号需开通云端服务),支持通过picker选择云端的图片。

应用包管理

支持应用安装包免解压特性,优化系统启动性能和应用安装性能。

支持应用、元服务数据共享,在应用安装时,解析证书文件中的data-group-ids列表,建立映射关系,创建数据共享路径,实现应用与元服务数据共享。

支持应用安装时设置分发类型和附加信息,提供ArkTS接口实现应用分发类型和附加信息的设置和查询。

支持企业应用,提供企业MDM应用和企业normal应用的安装,以及对企业应用的管理和吊销。

支持overlay能力,针对不同产品的显示风格,开发者可以在不重新编译打包情况下,新增资源文件overlay包,实现应用界面风格变换。

支持so文件不解压使用,即不解压so文件到单独目录,运行期直接从包中读取加载so文件,提升安装速度和减少占用的ROM空间。

WebView

W3C能力补充完善:补充Web camere能力,以及bindContextMenu、Select、date类型input等H5标签能力。

支持多渲染进程的进程拆分。

支持文字、图片基础拖拽能力。

支持WebRTC的视频会议能力(不含摄像头共享)。

支持渲染进程独立SELinux标签,增强安全基础能力。

支持识别Web组件渲染进程、显示线程和场景信息,并通知系统资源调度进行CPU管控。

测试

测试框架arkxtest

支持自动化脚本测试套嵌套定义能力,提升开发者脚本设计灵活性。

支持对象级断言能力,提升测试脚本断言能力。

支持模拟中文输入、模拟鼠标操作、区域截图的能力。

自测试执行框架developer_test

支持测试任务管理能力,开发者通过任务ID执行历史任务,提升开发者自测试效率。

支持精准测试能力,支持子系统、部件、测试套、测试用例级测试用例筛选执行能力,提升开发者自测试效率。

支持对接执行hats用例,丰富执行用例范围。

支持稳定性测试能力,支持测试用例乱序执行。

支持覆盖率统计能力,支持开发者本地一键式生成代码覆盖率数据。

性能调试开发工具SmartPerf Host

支持Frame timeline抓取和展示能力,开发者可以抓取和展示卡顿丢帧检测的数据。

支持Scheduling analysis抓取和展示能力,开发者可以抓取和展示CPU调度分析,线程调度分析相关数据。

支持调用栈可视化和不同库函数调用占比展示能力,开发者可以抓取并通过饼图的方式展示调用栈及不同库函数的占比

性能数据采集SmartPerf Device

支持应用冷热启、页面内切换、滑动帧率测试能力,开发者可以测试应用冷热启动时延、页面切换时延、滑动帧率测试能力。

支持端侧测试数据对接云端看板能力,开发者可以将端侧测试报告上传云端查看或下载云端数据到本地。

该版本的完整信息可以访问OpenHarmony官方网站,欢迎开发者踊跃使用并提出宝贵意见,开放开源共建,共同打造下一代智能终端的根社区和万物互联的数字底座。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据采集
    +关注

    关注

    40

    文章

    7313

    浏览量

    116905
  • API
    API
    +关注

    关注

    2

    文章

    1709

    浏览量

    64503
  • OpenHarmony
    +关注

    关注

    30

    文章

    3865

    浏览量

    18973
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    针对“您的应用使用了HarmonyOS beta版本API”的解决方法##HarmonyOS应用上架##

    API。 修改建议:为提升消费者使用体验,请使用HarmonyOS release版本API开发应用,申请上架 我看到这个是有点懵的,因为我清楚的知道,我的项目是基于
    发表于 06-30 17:30

    桃芯科技获得OpenHarmony生态产品兼容性证书

    近日,由INGCHIPS自主研发的模组/开发板DB870CC1A顺利通过OpenHarmony 5.0.2 Release版本兼容性测评,并获得OpenHarmony生态产品兼容性证书
    的头像 发表于 06-25 14:30 ?499次阅读

    京东开源Taro on HarmonyOS C-API版本

    近日,京东正式开源了Taro on HarmonyOS C-API 版本,为鸿蒙应用跨端开发提供高性能框架。这次版本发布,带来了更丰富的样式适配、更高效的渲染性能、更全面的组件支持,
    的头像 发表于 06-09 09:19 ?685次阅读
    京东开源Taro on HarmonyOS C-<b class='flag-5'>API</b><b class='flag-5'>版本</b>

    开源鸿蒙5.1 Release版本发布

    近日,开源鸿蒙5.1 Release版本正式发布,支持更多的设备形态,全面提升了系统的稳定性和开发者体验,这是其技术路线演进中的关键一跃——更快的开发体验,向消费端的加速渗透,以及向全场景生态发起猛攻。
    的头像 发表于 06-05 14:25 ?983次阅读

    贡献 OpenHarmony 库关键配置

    \"https://ohpm.openharmony.cn/ohpm/login\" has failed 发布后再发布不更新版本号会报错 ohpm ERROR
    发表于 05-28 13:46

    【贝启科技BQ3568HM开源鸿蒙开发板深度试用报告】使用Deveco Studio进行开发

    openharmony sdk api11,而5.0.1 Release则对应api 13. 因为我之前在开源手机上,测试过cocos engine,使用的是
    发表于 03-16 11:28

    龙芯2K0300蜂鸟板openharmony版本以及开发疑问

    当前蜂鸟板openharmonyrelease 4.1版本,开发似乎只能JS开发,是否可以移植Openharmony5.0,或者进行ARKTS开发?
    发表于 02-20 16:18

    新品 | 视美泰AIoT鸿蒙开发套件SC-3568HA正式上市,已成功适配OpenHarmony 5.0 Release版本

    近日,视美泰成功完成了其多系列产品与OpenHarmony5.0Release版本的深度适配工作,此次适配的产品涵盖了OpenHarmony5.0首发开发套件SC-3568HA、智慧终端主板
    的头像 发表于 02-05 17:11 ?894次阅读
    新品 | 视美泰AIoT鸿蒙开发套件SC-3568HA正式上市,已成功适配<b class='flag-5'>OpenHarmony</b> 5.0 <b class='flag-5'>Release</b><b class='flag-5'>版本</b>

    华为发布鸿蒙HarmonyOS 5.0.2 Release

    性能、稳定性等方面的优化。 此次发布API升至14 Release,为开发者带来了更强大的工具集。 在Ability Kit方面,支持在配置文件中声明除入口Ability以外的UIAbility组件
    的头像 发表于 01-23 16:17 ?1684次阅读

    开源鸿蒙5.0 Release版本关键特性解读

    特性。如果想了解该版本完整的特性,请参考版本Release notes。 一 系统功能 1.1 应用框架能力优化 应用框架新增子进程创建、Ability生命周期监听等关键能力,开发者
    的头像 发表于 12-23 13:58 ?2514次阅读

    开源鸿蒙操作系统5.0 Release版本发布

    12月20日,在2024开放原子开发者大会暨首届开源技术学术大会开幕式上,开放原子开源鸿蒙(即OpenAtom OpenHarmony,简称“开源鸿蒙”或“OpenHarmony”)项目群重磅发布
    的头像 发表于 12-23 11:35 ?2508次阅读

    OpenHamrony4.0去除锁屏是一种什么体验?触觉智能给你支支招

    本文介绍开源鸿蒙OpenHarmony 4.0系统下,去除锁屏开机后直接进入界面的方法,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新OpenHarmony5.0 Release
    的头像 发表于 11-13 10:37 ?703次阅读
    OpenHamrony<b class='flag-5'>4.0</b>去除锁屏是一种什么体验?触觉智能给你支支招

    触觉智能Purple Pi OH鸿蒙开发板成功适配OpenHarmony5.0 Release,开启新征程

    触觉智能Purple Pi OH鸿蒙开发板,成功适配OpenHarmony5.0 Release版本!为大家带来OpenHarmony5.0特性讲解!关注触觉智能,为大家带来更多
    的头像 发表于 10-25 10:51 ?1221次阅读
    触觉智能Purple Pi OH鸿蒙开发板成功适配<b class='flag-5'>OpenHarmony</b>5.0 <b class='flag-5'>Release</b>,开启新征程

    讯飞星火大模型V4.0正式发布

    日前,讯飞星火V4.0正式发布,升级成为更懂你的AI助手!讯飞星火4.0 API同步上线,Ultra版本首次公开
    的头像 发表于 10-14 10:06 ?1402次阅读

    【龙芯2K0300蜂鸟板试用】OpenHarmony代码

    OpenHarmony-v4.1-Release 基础代码 repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags
    发表于 09-18 11:42