共享包概述

2024-01-25 11:55 更新

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

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

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

HSP旨在解決HAR存在的幾個問題:

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

HSP的一些約束:

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

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號