从API版本26.0.0开始支持压缩解压缩模块,为应用提供了数据压缩和解压缩的能力,可用于文件打包分发、减少存储占用、加速网络传输等场景。根据数据来源和处理方式的不同,模块提供了以下三种压缩解压缩方式:
如图所示,文件压缩解压缩模块的架构分为以下三层:
采用分层设计,使模块具备良好的扩展性,开发者可以根据实际需求选择合适的压缩解压缩方式。

Basic Services Kit还提供了基于ArkTS的@ohos.zlib (Zip模块),用于文件和数据的压缩解压缩。二者主要差异如下:
| 模块 | Archive模块 | zlib模块 |
|---|---|---|
| 本质 | 面向高性能场景的自研压缩框架 | zlib C库的ArkTS封装及少量高层文件接口 |
| 适用场景 | 使用Native接口开发,对性能有要求,需要使用进度回调和取消操作接口OH_Archive_Reader_SetProgressHandlerWithData,大数据流场景 | 仅使用ArkTS开发,需使用zlib全套底层能力 |