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

相关推荐
m0_685535081 天前
华为光学工程师笔试真题(含答案与深度解析)
华为·光学·光学设计·光学工程·镜头设计
lqj_本人1 天前
鸿蒙原生与Qt混合开发:性能优化与资源管理
qt·harmonyos
暮乘白帝过重山1 天前
ArkTS之装饰器
arkts·暮乘白帝过重山
lqj_本人1 天前
鸿蒙Qt字体实战:消灭“豆腐块“乱码与自定义字体加载
qt·华为·harmonyos
大侠课堂1 天前
海康大华大疆华为中兴追觅经典面试题200道完整版
华为
爱笑的眼睛111 天前
深入探索HarmonyOS中RichText组件的HTML渲染机制
华为·harmonyos
IT闫1 天前
figlet 在鸿蒙PC上的构建与适配
华为·harmonyos
全栈陈序员1 天前
Whois 工具在 HarmonyOS PC 上的交叉编译实践
华为·harmonyos
空白诗1 天前
tokei 在鸿蒙PC上的构建与适配
后端·华为·rust·harmonyos
汉堡黄1 天前
鸿蒙开发:案例集合Tabs:分段按钮组件
harmonyos