近期,开源鸿蒙OpenHarmony7.0其Beta版本上线GitCode平台,该版本首次在手机级标准设备上移除了Android APK兼容层,并支持纯ArkTS应用运行。API版本也同步升级至26。触觉智能紧随其后,旗下鸿蒙开发板Purple Pi OH已迅速完成该系统适配,成为首批支持该OpenHarmony7.0的硬件平台之一。

大家可点此视频了解:https://www.bilibili.com/video/BV1uTNj63E7A/?spm_id_from=333.1387&vd_source=48806db9962ec1f985e8e0057cf99159

OpenHarmony7.0全栈ArkTS统一开发体系大幅简化应用开发流程,内存占用显著降低,搭配全新升级的分布式软总线等能力。

触觉智能的研发团队在OpenHarmony7.0发布后便全力投入。Purple Pi OH开发板作为鸿蒙明星开发板,已率先完成对该版本的适配,开发者无需耗费大量时间开展底层移植与驱动调试,就能一站式体验API26、纯ArkTS原生运行等7.0全新能力,提前开展产品方案规划与研发布局,在国产全场景鸿蒙数字化浪潮中抢占技术先发优势。

图片

OpenHarmony7.0简介

  • 版本概述

OpenHarmony7.0 Beta1版本进一步增强应用开发功能,支持对应用更精细化的控制,比如可获取Ability退出原因、AbilityStage启动加载信息、通知自定义铃声和锁屏通知控制等;进一步提升界面交互体验,支持动态布局容器、Tabs嵌套滚动、自定义组件全局复用等;进一步增强窗口管理能力,新增闪控窗、按需销毁窗口页面内容等;进一步增强ArkWeb网页控制能力,内核升级至Chromium144版本,支持URL白名单控制、网页安全配置等;进一步增强音视频处理能力,支持HDR效果、多屏幕录制、Cinepak编解码等;新增Content Embed内容嵌入服务,支持应用间文档互相嵌入与协同编辑;进一步丰富了图像元数据处理能力、音频编解码能力、MIDI设备支持、相机专业能力、证书管理能力、企业定制能力等。

  • 软件配套关系

软件

版本

备注

OpenHarmony

7.0 Beta1

NA

Public SDK

Ohos_sdk_public 26.0.0.25 (API Version 26.0.0 Beta1)

面向应用开发者提供,不包含需要使用系统权限的系统接口。通过DevEco Studio默认获取的SDK为Public SDK。

HUAWEI DevEco Studio(可选)

26.0.0 Beta1

OpenHarmony应用开发推荐使用。
请点击这里获取。

HUAWEI DevEco Device Tool(可选)

4.0 Release

OpenHarmony智能设备集成开发环境推荐使用。
请点击这里获取。

  • 官网源码获取

可通过以下gitcode链接下载:

https://gitcode.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v7.0-beta1.md
 

OpenHarmony7.0特性详解

    应用程序框架

    • Ability上次退出的信息字段新增支持获取退出原因。

    • AbilityStage上下文新增launchElement字段,用于在AbilityStage调用onCreate时告知应用正在加载的Ability,从而动态加载资源。

    • AbilityStage组件管理器新增AbilityStage即将创建第一个Ability的回调,以及当进程从应用快照启动时的回调。

    • 新增支持获取指定包名和分身索引的应用名称。

    • 新增支持用于管理ModularObjectExtensionAbility的C API,提供查询ModularObjectExtensionAbility信息、连接与断开连接等能力。

    ArkUI

    • 自定义组件支持跨Ability迁移。

    • 新增多个组件的C API:

      OH_ArkUI_DecorationStyleOptions、OH_ArkUI_TextDataDetectorConfig
      OH_ArkUI_TextEditorSelectionMenuOptions、OH_ArkUI_TextEditorPlaceholderOptions、OH_ArkUI_TextEditorStyledStringController、OH_ArkUI_TextEditorParagraphStyle、OH_ArkUI_ShadowOptions、OH_ArkUI_TextEditorTextStyle。

    • 新增一批属性字符串的C API。

    • 支持将含有竞争策略的事件分发到目标UI组件节点。

    • 新增支持获取UIContext对应页面的根节点。

    • Text组件新增支持根据坐标获取最近的字符的位置信息。

    • 新增拖拽异步通知接口,可以在拖拽的落入行为中指定采取剪切或者复制的处理方式,以及指定是否执行拖拽落入行为的动效。

    • 新增onNeedSoftkeyboard回调,支持开发者配置焦点转移后不关闭拉起的软键盘。、

    • CanvasRenderingContext2D和OffscreenCanvasRenderingContext2D新增antialias属性,支持关闭文本抗锯齿功能。

    • 分段按钮新增enableStateAnimation配置项,用于指定selectedIndexes在绑定的状态变量发生变化时是否执行系统动画。

    • Tabs组件新增支持嵌套滚动能力。

    • JS组件新增支持旋转表冠事件监听接口。

    • 多行文本的缩略模式新增支持设置为省略行首内容(MULTILINE_START)或省略行中内容(MULTILINE_CENTER)。

    • 新增动态布局容器组件,支持在运行时动态切不同的布局算法,不改变子组件的状态。

    • 新增自定义组件全局复用能力,可针对指定@Reusable/@ReusableV2复用组件配置复用池,用于提供全局复用的能力。

    窗口管理

    • 新增支持按需销毁窗口(WindowStage)的页面内容(UIContent)。

    • 新增闪控窗。闪控窗是悬浮在桌面/应用界面上的小型窗口,提供灵活的窗口管理能力,包括判断设备是否支持闪控窗功能、创建闪控窗控制器以启动、更新或停止闪控窗等。

    ArkWeb

    • ArkWeb基于上游社区的Chromium内核从132升级为144版本。详情请参考ArkWeb版本的差异总结。

    • ArkWeb网页请求支持User-Agent Client Hints功能。

    • ArkWeb新增默认右键菜单启用开关,可通过该接口控制默认的右键菜单是否开启。

    • 设置Web页的URL白名单,只有白名单内的URL才能允许加载/跳转,否则将拦截并弹出告警页。

    • 在下载任务完成的回调中,新增支持获取下载项的原始URL地址;新增支持获取引用页的URL地址。

    • 新增安全特性选项配置的类,用于设置网页的安全配置属性。

    ArkTS语言编译器运行时

    • 虚拟机维测能力增强:

      • 新增支持获取所有虚拟机线程的堆内存信息,包括线程ID、线程名称、堆类型和堆对象大小。

      • 新增堆内存超过预警阈值的回调函数,在虚拟机主线程完成垃圾回收后如果堆内存仍超过预警阈值则触发回调执行。

    • taskpool的execute方法增强,执行任务或任务组可以指定任务超时时长。如果任务或任务组的执行时间超过设置的超时时长,则抛出对应错误信息。

    • 新增enableLocalHandleDetection接口,保证EventHandler和libuv机制的任务在scope范围内执行,从而避免内存泄漏。

    • XML解析新增支持XmlSAXHandler,定义了SAX解析xml文本时的回调方法。开发者需要实现这些回调方法来处理xml文本的不同部分。这些回调方法会在xml解析过程的对应时机触发。

    • ArkTS运行时提供了多种模块化调试工具,帮助开发者快速定位和解决模块化相关问题。

    分布式数据管理

    • 新增创建或打开已有的关系型数据库的同步方法。同步方法可阻塞线程直到获取到RdbStore。

    媒体

    • C API新增隐私保护设置的回调函数,用于响应截屏录屏时捕获的隐私保护事件。

    • C API新增支持获取多屏幕录制能力信息,以及通过DisplayID选择多屏幕进行录制。

    音频

    • 音频采集和音频渲染新增支持设置独立的音频会话策略和行为参数。

    • 新增OH_MIDI的C API,支持应用通过USB或蓝牙BLE连接外接MIDI设备(如MIDI键盘、电子琴、MIDI控制器等),实现MIDI消息的收发、设备枚举与热插拔监听,可用于音乐创作、乐器录制与教学、MIDI设备控制等场景。

    • 新增C API,提供声明输入音频格式、输出音频格式底层数据结构和格式转换接口的定义。

    相机管理

    新增支持创建延迟预览输出对象,在配流时替代普通的预览输出对象加入数据流。同时支持配置延迟预览的Surface。

    新增一批拍照/录像模式下的相机专业能力,包括闪光灯、光学防抖、曝光、手动对焦、ISO感光度、物理光圈的调用和设置。

    音视频编解码

    • 新增支持Cinepak媒体格式的编解码能力。

    • 新增支持筛选特定MIME类型的安全解码器,在处理受数字版权管理保护的DRM媒体资源时,可以使用支持安全链路的"安全解码器"。

    • H265硬件编码器新增支持CBRHQ(高质量恒定码率模式)。

    音视频播控服务

    • 新增支持后台播放模式的设置,可由应用告知系统是否支持后台播放,系统根据能力决策实况胶囊的显示。

    • AVSession的枚举新增定义了在不同场景中使用的额外键的枚举。

    后台任务管理

    提醒的倒计时实例对象新增参数重复周期(repeatInterval)和重复次数(repeatCount)。

    基础通信

    • 新增支持通过C API获取Wi-Fi连接信息。

    • 新增A2DP的播放状态广播以及SCO广播事件。

    网络管理

    TLS支持证书链的验证,可通过传入数组的方式最多支持到1000个证书。

    内容嵌入服务

    新增Content Embed内容嵌入服务,提供应用间文档互相嵌入与协同编辑的框架能力,并为开发者封装了客户端与服务端的开发接口,便于快速实现文档跨应用嵌入与协作。

    文件管理

    • 打开文件或目录时新增参数UNCACHE,支持读写文件不进行页缓存。

    • 新增listFileExt方法支持递归列出和自定义文件名过滤。可通过配置options中recursion参数实现递归列出所有文件的相对路径。

    • 新增支持开发者通过文件mmap能力集(基于文件描述符或文件对象创建文件映射对象),实现文件的高效读写访问。

    • 新增支持应用捐献自身沙箱目录给系统设置为共享,其他应用可以通过文管直接获取到目录里的文件。

    卡片

    在onUpdateForm回调中新增支持卡片更新原因字段。

    图形

    • 新增支持为组件内容添加HDR(高动态范围成像)提亮效果。

    • 新增支持视频的AIHDR格式。

    • 绘制模块新增用于处理坐标点的类,支持对坐标点取反和设置偏移量。

    图像

    • 新增WebP图像元数据类、GIF图像元数据类、JFIF图像元数据类、TIFF图像元数据类、PNG图像元数据类以及AVIS图像元数据类,用于存储对应格式图像的元数据。

    • 新增XMP(Extensible Metadata Platform)元数据。

    多模输入

    • 新增输入事件注入模块,提供键盘和鼠标输入事件模拟能力。

    • C API输入事件增强,提供输入事件的压力、相对窗口左上角的XY相对坐标等事件。

    通知

    • 新增支持查询本APP通知中wantAgent字段的部分信息。

    • 新增支持使用应用沙箱内的文件作为通知的自定义铃声。

    • 新增是否开启锁屏通知等字段。

    • 新增支持以半模态方式拉起应用的通知设置界面。

    定制

    • kiosk模式下,新增支持通过上划停留手势进入最近任务栏(ALLOW_GESTURE_CONTROL)以及通过边缘内划停留手势进入侧边DOCK栏(ALLOW_SIDE_DOCK)。

    • 新增支持安装和卸载企业重签名证书的能力。

    • 新增支持根据位置索引添加应用到PC/2in1设备的底部快捷栏的能力。

    • 设备设置管理支持对当前用户下被隐藏的设置项列表进行添加、删除、查询操作。

    NDK

    JSVM新增支持从外部内存创建ArrayBuffer对象。

    DFX

    • 当应用发生SIGPIPE异常退出时,在Debug版本应用可开启SIGPIPE信号打印调用栈功能辅助定位问题。

    HiProfiler新增文件缓存模式(use_file_cache_mode),通过将缓存数据落盘,提升内存分配信息的采集性能。

    • HiDebug新增资源采集功能,支持按需采集应用进程资源分配栈至沙箱,覆盖文件描述符、线程、Native/GPU内存及全局句柄等类别,辅助定位资源泄漏。

    • HiDebug新增支持获取应用程序进程的物理内存使用信息。

    • HiDebug新增支持将转储的堆快照由线程级改为进程级。

    • HiDebug新增提供包括内核信息在内的Trace采集请求接口。

    • HiAppEvent新增应用冻屏告警事件,提供事件的订阅能力。

    Logo

    开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

    更多推荐