HarmonyOS HSP依赖HAP相关变量会重新初始化

在HSP模块中依赖了底层HAR中通过export const xxx = new xxx() 来初始化的一个类,发现在hsp加载时,该类会重新初始化,har则不会,是否有办法使hsp也获取到同一个变量?

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

推荐使用新模块@ohos.data.preferences,@ohos.data.storage,该模块不再维护

文档地址:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-preferences-V5

单例经过验证也会重新初始化

class GlobalContext {
  private constructor() {}
  private static instance: GlobalContext;
  private  num:number  = 0;
  private _objects = new Map<string, Object>();

  public static getContext(): GlobalContext {
    if (!GlobalContext.instance) {
      GlobalContext.instance = new GlobalContext();
      console.log("success打印成功")
    }
    return GlobalContext.instance;
  }

  getObject(value: string): Object | undefined {
    return this._objects.get(value);
  }

  setObject(key: string, objectClass: Object): void {
    this._objects.set(key, objectClass);
  }
  log(){
    this.num ++;
    console.log(`num:${this.num}`)
  }
}
export const  global = GlobalContext.getContext();

log输出:

07-08 18:32:30.179   5621-5621    A03d00/JSAPP                   pid-5621              I     22222
07-08 18:32:30.180   5621-5621    A03d00/JSAPP                   pid-5621              I     22222
07-08 18:32:32.756   5621-5621    A03d00/JSAPP                   com.examp...lication  I     hsp:xxxxxx
07-08 18:32:32.756   5621-5621    A03d00/JSAPP                   com.examp...lication  I     num:1
07-08 18:32:38.461   5621-5621    A03d00/JSAPP                   com.examp...lication  I     har:xxxxxx
07-08 18:32:38.461   5621-5621    A03d00/JSAPP                   com.examp...lication  I     num:1
分享
微博
QQ
微信
回复
3天前
相关问题
关于初始化EGL环境相关问题
791浏览 • 1回复 待解决
HarmonyOS XComponent初始化
109浏览 • 1回复 待解决
HarmonyOS struct初始化方法
75浏览 • 1回复 待解决
HarmonyOS Component初始化问题
487浏览 • 1回复 待解决
HarmonyOS 应用RDB初始化示例
444浏览 • 1回复 待解决
没法调试“已初始化”分支
269浏览 • 1回复 待解决
HarmonyOS export struct的初始化参数
70浏览 • 1回复 待解决
HarmonyOS 怎么监听Web初始化完成?
57浏览 • 1回复 待解决
初始化安全相机的方法
429浏览 • 1回复 待解决
HarmonyOS 如何进行全局初始化操作
45浏览 • 1回复 待解决