【HarmonyOS】- HAR与HSP区别及使用原则

文章目录


知识回顾

前言

HAR与HSP


源码分析

1.

c 复制代码

2.

c 复制代码

3.

c 复制代码

拓展知识

总结

系统提供了两种共享包,HAR静态共享包和HSP动态共享包。HAR与HSP都是为了实现代码和资源的共享,都可以包含代码、C++库、资源和配置文件,最大的不同之处在于:HAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝;而HSP中的代码和资源可以独立编译,在运行时进程中代码和资源也只会存在一份。

在多包场景下,如果应用的多个HAP或HSP包使用HAR包实现代码和资源的共享,那么打包后的每个HAP或HSP包中都会存在一份共享HAR包的拷贝,导致App包中存在冗余代码和资源。如下图示例,应用模块HAP1和HAP2/HSP1都引用了HAR2和HAR3,打包后,App包中HAR2和HAR3存在多份重复拷贝,体积较大。

推荐开发者使用HSP代替HAR实现代码和资源共享。如下图示例,使用HSP2对原应用进行升级改造,打包后,APP包中HAR2和HAR3只存在一份拷贝,HAR2、HAR3总大小大于HSP时,可以减小应用包大小。

相关推荐
后端小张1 天前
【案例实战】初探鸿蒙开放能力:从好奇到实战的技术发现之旅
分布式·华为·云计算·harmonyos·鸿蒙·鸿蒙系统·万物互联
我是Feri1 天前
HarmonyOS6.0开发实战:HTTP 网络请求与 API 交互全指南
网络·http·harmonyos·openharmonyos·harmonyos6.0
科技峰行者1 天前
华为发布Atlas 900 DeepGreen AI服务器:单机柜100PF算力重构AI训练基础设施
服务器·人工智能·华为·aigc·gpu算力
万少1 天前
八千字 《宠知汇》HarmonyOS应用案例热点技术解析
harmonyos
爱笑的眼睛111 天前
深入探索HarmonyOS文件压缩与解压缩API:从基础到高级应用
华为·harmonyos
鸿蒙小白龙1 天前
OpenHarmony Location Kit技术详解:定位、地理围栏与编码转换
华为·harmonyos·open harmony
星释2 天前
鸿蒙Flutter三方库适配指南:10.插件测试
flutter·华为·harmonyos
那年窗外下的雪.2 天前
鸿蒙ArkUI布局与样式进阶(十五)—— 模块化 · 自定义组件 · 泛型机制深度解析
javascript·华为·typescript·harmonyos·鸿蒙·arkui
爱笑的眼睛112 天前
深入解析 HarmonyOS 中 NavDestination 导航目标页的生命周期
华为·harmonyos
●VON2 天前
双非大学生自学鸿蒙5.0零基础入门到项目实战 - 歌曲列表
android·华为·harmonyos