【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时,可以减小应用包大小。

相关推荐
心走28 分钟前
鸿蒙WebRTC编译指南&踩坑(Native 编译指导)
harmonyos·音视频开发
冯志浩2 小时前
HarmonyOS - 嵌套类属性状态管理装饰器:ObservedV2 和 Trace
harmonyos·掘金·金石计划
jmoych3 小时前
华为数字化转型“三阶十二步法“:战略驱动、系统布局与敏捷落地的实践框架
华为
conkl4 小时前
华为仓颉编程语言基础概述 III(终章)
华为
塞尔维亚大汉4 小时前
【鸿蒙南向开发】OpenHarmony小型系统内核(LiteOS-A)【文件系统】下
物联网·嵌入式·harmonyos
智驾6 小时前
什么是鸿蒙南向开发?什么是北向开发?
harmonyos·南向开发·北向开发
周胡杰7 小时前
weibo_har鸿蒙微博分享,单例二次封装,鸿蒙微博,微博登录
华为·harmonyos
塞尔维亚大汉7 小时前
【鸿蒙南向开发】OpenHarmony小型系统内核(LiteOS-A)【扩展组件】下
物联网·嵌入式·harmonyos
智驾8 小时前
Openharmony 和 HarmonyOS 区别?
harmonyos·openharmony
脑极体9 小时前
寻找AI大模型时代的存力破壁人:华为的行与思
人工智能·华为