HarmonyOS 工程模块化问题
关于项目的模块化有几个问题想咨询一下
1、假设我的项目只需要一个entry模块,这个entry中是否只有一个UIAbility组件就够了,多UIAbility组件是否只在任务视图中看到多个任务,或者需要同时开启多个窗口才需要使用?
2、对于各个业务模块、底层功能模块,在HAR和HSP的选择上有什么建议吗,二者的加载机制有什么区别呢?对启动耗时和包体大小影响的差异是什么样呢?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
Dialog弹窗与模块化问题
377浏览 • 1回复 待解决
#鸿蒙通关秘籍#在HarmonyOS NEXT工程中进行模块化项目的目录结构规划如何推进?
241浏览 • 1回复 待解决
#鸿蒙通关秘籍#ArkTS支持哪些模块化加载类型?
187浏览 • 1回复 待解决
#鸿蒙通关秘籍#模块化编程思维,如果我们新开发者,想基于ArkTS在HarmonyOS系统中怎么实现代码的模块化?
256浏览 • 1回复 待解决
#鸿蒙通关秘籍#实现模块化项目的好处和思路
270浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在ArkTS中实现模块化加载?
258浏览 • 1回复 待解决
HarmonyOS 组件模块化, 父组件如何调用子组件类的方法?
180浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过模块化构建实现微信功能模块的清晰划分?
242浏览 • 1回复 待解决
HarmonyOS 模块化之后, har之间相互不依赖, 怎么实现路由跳转
600浏览 • 1回复 待解决
HarmonyOS 模块化设计文档中多任务多窗口的“任务”指的是什么?
72浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT中构建一个模块化项目架构?
256浏览 • 1回复 待解决
HarmonyOS 有没有模块化开发模板
513浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过动态路由实现页面的动态加载与模块化?
230浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何获取HarmonyOS NEXT构建模块化项目架构的开源代码?
264浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS中利用模块化封装简化RCP网络通信配置?
172浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT项目中构建模块化的Tabs底部导航栏?
288浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在鸿蒙模块化项目中,如何处理各模块间的依赖关系以避免高耦合?
190浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何使用 HarmonyOSNext 模块化设计中的 @Event 实现组件事件管理?
219浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中将远场通信RCP请求模块化封装以简化网络请求?
281浏览 • 1回复 待解决
如何实现在不使用UIAbility的情况下,能够模块化管理代码,并且各个模块之间可以相互路由跳转
1822浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS应用中通过ZRouter实现模块化和高效的动态路由通信?
179浏览 • 0回复 待解决
HarmonyOS 模块化开发时,页面之间如何跳转
107浏览 • 1回复 待解决
如何在ArkTS中进行模块化开发?
442浏览 • 1回复 待解决
如何在不使用UIAbility的情况下,也能够模块化的管理代码,且各个模块之间可以相互路由跳转?
466浏览 • 1回复 待解决
HarmonyOS 工程能否依赖外部模块源码
528浏览 • 1回复 待解决
如果该entry模块没有在任务视图中看到多个任务或者同时开启多个窗口的需求,一个UIAbility就可以满足需求了。
参考链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/uiability-overview-V5
HAR是静态共享包,编译态复用。
支持应用内共享,也可以发布后供其他应用使用。
多包(HAP/HSP)引用相同的HAR时,会造成多包间代码和资源的重复拷贝,从而导致应用包膨大。
不同HAP包引入同一个HAR包,无法实现数据的共享。
HSP是动态共享包,运行时复用。
当前仅支持应用内共享。
当多包(HAP/HSP)同时引用同一个共享包时,采用HSP替代HAR,可以避免HAR造成的多包间代码和资源的重复拷贝,从而减小应用包大小。
同一进程,运行时可共享代码,相比har包能有效减少内存消耗,同时能实现数据共享(比如常用的单例模式)
使用建议如下:
二方库, 三方库场景:开发者开发的模块,需要暴露给其他应用使用 (公司内或者公司外) . 只能使用har。
单HAP场景:如果没有按需加载诉求,推荐使用单hap + har。如果有按需加载诉求,推荐使用hsp。hap (独有har) + 按需加载的hsp (独有的har) ==》公共hsp (封装公共的han)。
多HAP场景: 如果多hap没有共用的资源,推荐使用多hap + har。如果多hap有共用的资源,推荐使用hsp封装。hap1 (独有的har) + hap2 (独有的har) ==》公共hsp (封装公共的har)
参考地址:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-package-overview-V5