共享包概述

2024-01-25 11:55 更新

OpenHarmony提供了兩種共享包,HAR(Harmony Archive)靜態(tài)共享包,和HSP(Harmony Shared Package)動(dòng)態(tài)共享包。

HAR與HSP都是為了實(shí)現(xiàn)代碼和資源的共享,都可以包含代碼、C++庫(kù)、資源和配置文件,最大的不同之處在于:HAR中的代碼和資源跟隨使用方編譯,如果有多個(gè)使用方,它們的編譯產(chǎn)物中會(huì)存在多份相同拷貝;而HSP中的代碼和資源可以獨(dú)立編譯,運(yùn)行時(shí)在一個(gè)進(jìn)程中代碼也只會(huì)存在一份。

圖1 HAR和HSP在APP包中的形態(tài)示意圖

HSP旨在解決HAR存在的幾個(gè)問(wèn)題:

  • 多個(gè)HAP引用相同的HAR,導(dǎo)致的APP包大小膨脹問(wèn)題。
  • 多個(gè)HAP引用相同的HAR,HAR中的一些狀態(tài)變量無(wú)法共享的問(wèn)題。

HSP的一些約束:

  • HSP及其使用方都必須是Stage模型。
  • HSP及其使用方都必須使用esmodule編譯模式。
  • HSP不支持在配置文件中聲明abilities、extensionAbilities標(biāo)簽。

HSP按照使用場(chǎng)景可以分為應(yīng)用內(nèi)HSP和應(yīng)用間HSP,應(yīng)用間HSP暫不支持。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)