OpenHarmony-v4.0-beta1.md 8.9 KB
Newer Older
时睿 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
## 版本概述

OpenHarmony 4.0版本标准系统能力持续完善,ArkUI进一步完善组件能力和效果、应用框架优化了Extension能力、应用包支持不解压安装和跨应用共享、分布式数据管理新增统一数据管理框架(UDMF)、媒体进一步增强音频/媒体播放/媒体控制/相机的能力、事件通知新增应用角标管理、安全基础能力支持更多密钥管理的能力、ArkCompiler更新了c++工具链的相关工具版本、测试框架多个工具能力增强。

OpenHarmony 4.0 Beta1版本开始提供首批API Level 10接口。


### ArkUI

1. 提供Extension组件,用于将一个应用的扩展功能,嵌入到另一个应用内。

2. 组件支持默认特征动效。

3. 组件支持默认拖拽,支持关闭默认拖拽。

4. 支持设置球面高阶属性、下边缘像素扩展、取色模糊、G2圆角、阴影、渐变高阶属性。

5. 绘制组件支持偏移/裁剪/遮罩属性。

6. 自定义弹框支持蒙层颜色及弹出动画自定义。

7. bindContextMenu/bindMenu支持自定义位置。

8. ColumnSplit分隔线支持拖动。

9. Refresh组件支持自定义下拉刷新能力。

10. 支持测量字符串宽高能力。


### 应用框架

1. Extension能力最小化管理,支持各类Extension根据业务场景开放API,防止敏感API的调用。

2. 支持数据或文件URI的临时授权。

3. 提供UIExtension机制,借助该机制,应用可以将自己的应用嵌入到另外一个应用内显示。

4. 提供原子化服务和卡片分享接口,支持原子化服务的分享和恢复数据。


### 应用包管理

1. 支持应用包不解压安装的特性。优化了系统启动性能和应用安装性能。

2. 支持跨应用共享包。支持部分系统将自身应用的代码能力提供给三方生态应用使用,同时三方应用不需要在自身的安装包里集成相关内容(包括代码、资源以及.so文件等),从而达到减少生态应用的集成成本以及更新成本的目的。

3. 支持企业应用的安装。校验企业应用的安装权限防止企业应用被随意的分发安装;提供企业应用证书信息查询以方便应用市场对企业应用的管理和吊销。


### 分布式数据管理

1. 提供静默数据多用户隔离能力。

2. kv_store、RDB支持更换过期秘钥。

3. data_share提供模糊订阅能力。

4. 新增统一数据管理框架(Unified Data Management Framework, UDMF),支持数据标准化模型、设备内数据拖拽、UDMF数据存储适配、权限管理、生命周期管理。

5. Push和数据代理协同。


### 文件管理

1. 文件对外呈现分类视图,媒体类文件无需关注具体存储位置。

2. 提供图库等应用以相册方式管理媒体文件,提供相册内添加、移除文件等功能。
   提供备份恢复框架增强能力,克隆应用或DEMO应用可以使用ArkTS API实现备份恢复功能。

3. 提供增强的FileIO访问能力,支持listFile,scanFile,move、copy、filelock、watcher能力。

4. 提供基于URI的文件临时授权访问及取消授权能力,支持基于URI的统一openfile能力。


### 图形显示、窗口

**图形**

1. 支持组件自绘制内容的属性动画。

2. 支持组件出现消失转场动画。

3. 对统一渲染模式进行了性能优化,包含IPC性能优化、支持控件级别遮挡剔除,使能硬件合成器等。

4. 支持解析Gif图片参数。

**窗口**

1. 支持监听窗口获取焦点的状态。

2. 支持将子窗口z轴顺序调整到顶层。

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

4. 支持查询屏幕的显示模式和屏幕方向。

5. 提供停止镜像和停止扩展API。


### 媒体

**音频能力**

1. 支持通过native接口进行音频播放和录制。

2. 支持查询或监听当前优先级最高的播放设备。

3. 音量类型增加闹钟类型。

4. 支持强制模式音频焦点,应用播放音频时,无需手动申请焦点,系统会在后台自动申请焦点,并自动执行焦点策略,如暂停、淡出、淡出恢复等;应用需要注册焦点事件监听函数,以接收焦点事件,并提示用户,比如暂停时,停止进度条。

**播控框架**

1. 支持应用自定媒体数据包传递,媒体提供方和控制方之间传递自定义媒体信息。

2. 支持媒体播放列表的框架能力,媒体提供方设置播放列表内容,媒体控制方获取播放列表内容,并可以选择任一媒体内容进行播放。

3. 支持播放历史记录的框架能力,媒体会话提供查询历史播放应用的列表,列表项按播放先后顺序排序(包含当前播放的和已退出的应用)。

4. 支持播放历史记录的框架能力,媒体会话提供查询历史播放应用的列表,列表项按播放先后顺序排序(包含当前播放的和已退出的应用)。

5. 提供歌词内容和命令的传输通道,媒体提供方设置歌词内容,媒体控制方获取歌词内容。

6. 支持播放服务向AVSession注册回调,获取应用是否被AVSession进行管控的事件。

**媒体播放**

1. 支持HLS直播以及基于datasource的流式播放能力。

2. 支持H.265视频硬解播放能力。

3. 支持播放音效、音频属性设置,支持带旋转角度视频的自动旋转播放。

4. 支持多音轨获取与切换。

5. 支持外挂字幕设置与切换。

**相机**

1. 完善ArkTS API的错误码和异常处理机制,使开发者可以通过查询错误码定位错误信息。

2. 支持前置预览镜像能力,默认情况下,前置预览画面呈镜像状态。

3. 支持分布式摄像头查询该摄像头的主设备属性,包括设备名称和设备类型。

4. 支持更精细化的分辨率查询,可以按照预览、拍照、录像用途查询支持的尺寸、格式和帧率信息。

5. 相机框架提供横向归一化坐标系[0, 0, 1, 1],所有与坐标相关的操作都基于这套坐标系完成。

6. 不同相机应用使用同一个摄像头场景下,相机框架具备优先级管控和互斥策略。


### 事件通知

1. 支持应用对静态事件订阅的使能开关。

2. 支持删除粘性事件。

3. 支持应用设置数字角标。

4. 本地通知可以通过push管控。


### 通信与连接

1. 支持NFC eSE卡模拟能力。

2. 支持WIFI连接AP时使用随机MAC的能力。

3. 支持WIFI能够通过静态IP连接AP的能力。


### 安全

1. 密钥管理提供如下能力:
   1. 基于GID派生芯片级密钥的能力。
   2. 支持国密密钥进行安全导入。
   3. 支持二次身份认证的细粒度访问控制。
   4. 密钥管理签名支持签名NO HASH模式。
   5. 密钥管理算法支持运算时指定密钥参数。

2. 支持小型设备查询其它设备的设备安全等级信息。

3. 证书管理支持外部指定RSA密钥签名摘要及填充进行签名和验签能力。


### 程序访问控制

1. 支持拉起应用维度的权限管理界面。

2. 支持对系统应用的身份校验。


### ArkCompiler

1. Taskpool支持优先级设置及自动扩缩容算法。

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

3. 支持多实例调优 。

4. 支持异常函数的CFG构建。

5. c++编译工具链更新:
   1. clang/llvm工具链升级到15.0.4版本。
   2. libc版本升级到1.2.3版本,libc库接口性能优化。
   3. sigaction函数提供sigchain功能。


### 内核

1. 支持HCK内核接口框架。

2. 支持Linux内核config多级分层配置。


### 测试框架

**测试框架arkxtest**

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

2. 对象级断言能力,提升测试脚本断言能力。

3. 模拟中文输入、模拟鼠标操作、区域截图能力。

**自测试执行框架developer_test**

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

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

3. 对接执行hats用例,丰富执行用例范围

**稳定性测试工具wukong**

支持旋转事件注入,增强注入能力。

**性能开发工具smartperf_host**

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

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

3. 调用栈可视化和不同库函数调用占比展示能力,调用栈可视化可以将开发者编译的so符号化结果展示出来,不同库函数的占比通过饼图的方式展示出来。