HarmonyOS 如何构建跨动态库的单例?

(1)创建一个静态库 SingletonModel,提供一个单例对象。

(2)创建一个动态库 DynamicLib,并依赖静态库 SingletonModel,并提供一个方法调用 SingletonModel 的单例对象。

(3)entry同时依赖 SingletonModel 和 DynamicLib。

直接调用 SingletonModel 的单例,和通过DynamicLib调用的 SingletonModel 的单例是两个对象。

问题:这是预期的么?如何构造一个单例,让其经过动态库后不会生成额外的对象呢?

HarmonyOS
2024-10-31 10:18:13
浏览
已于2024-10-31 10:18:29修改
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

​由于当前har包和hsp包是内存隔离的,因此这种引用方式,实际在har包作为代码片段在hap和hsp包中各有一份,导致引用时并非用一个单例,当前有以下规避方式:

1.hap包不直接调用har包的单例,只通过hsp包调用这个单例。

2.将两个依赖包都改为har包。

3.将两个依赖包都改为hsp包​。

分享
微博
QQ
微信
回复
2024-10-31 17:03:53
相关问题
HarmonyOS 对象如何实现
451浏览 • 1回复 待解决
HarmonyOS 如何创建WebView组件
58浏览 • 1回复 待解决
如何获取为undefined
498浏览 • 1回复 待解决
HarmonyOS 关于问题
59浏览 • 1回复 待解决
HarmonyOS 模式拿不到类对象
355浏览 • 1回复 待解决
HarmonyOS 怎么实现线程安全
60浏览 • 1回复 待解决
HarmonyOS TaskPool子线程问题
20浏览 • 1回复 待解决
实现模式下数据存储
1106浏览 • 1回复 待解决
HarmonyOS Entry和Hsp中创建失效
474浏览 • 1回复 待解决
在hsp中存在多个情况
312浏览 • 1回复 待解决
ArkTS层实例化与介绍
3041浏览 • 1回复 待解决
HarmonyOS 类被反复初始化问题
34浏览 • 1回复 待解决
创建换了页面后不生效问题
2223浏览 • 3回复 待解决
关于文档中说har中不能用疑惑
1882浏览 • 1回复 待解决
首选项获取实例,实例是否为
1974浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人