当前位置: 首页 > article >正文

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

文章目录

  • 知识回顾
  • 前言
  • 源码分析
    • 1.
    • 2.
    • 3.
  • 拓展知识
  • 总结


知识回顾

前言

HAR与HSP


源码分析

1.


2.


3.


拓展知识

总结

系统提供了两种共享包,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时,可以减小应用包大小。


http://www.kler.cn/a/296987.html

相关文章:

  • NLP从零开始------文本中阶处理之序列到序列模型(完整版)
  • 计算机专业选题推荐-基于python的岗位兼职招聘平台【python-爬虫-大数据定制】
  • liunx io模型多路复用
  • 果然,秋招会惩罚每一个本末倒置的应届生
  • 启动与登录Mysql
  • JS_对象的创建
  • 防近视护眼台灯什么牌子好?五款防近视效果好的护眼台灯推荐
  • 春日美食家:SpringBoot网上订餐系统
  • 使用PowerShell连接国际版Exchange Online合规保护
  • Vue3 动态组件
  • LeetCode 热题 100 回顾
  • c#中Graphics常用的属性
  • 十二、C语言:内存函数
  • matlab数据批量保存为excel,文件名,行和列的名称设置
  • 0基础跟德姆(dom)一起学AI Python进阶08-生成器,property关键字,正则表达式
  • Python 全栈系列268 数据库浅析
  • PHP Redis扩展详解
  • 智慧驱动,效能跃升 | 华宇市场监管现场执法数智助手
  • CentOS 7.9 安装
  • Vue 介绍与体验