当前位置:网站首页>组件化学习(1)思想及实现方式
组件化学习(1)思想及实现方式
2022-04-23 06:07:00 【独饮敌敌畏丶】
1.组件化的介绍
我认为组件化,就是整个项目由app外壳,若干业务组件,以及公共基础组件构成。如图所示
我认为组件化最明显的特点就是:各个业务模块之间没有直接的横向依赖。
意义:不相互依赖,但是可以相互交互;高度解耦;自由拆卸
2.组件化的部署
关于如何将项目组件化,网上有大量的学习资源,我推荐一篇文章,写的超级详细:就是这一篇文章
3.组件之间的通信:
当然最常用的还是阿里开源的ARouter。这个就不多介绍了,但是除了这种方式,还有其他几个比较原始的方式
①使用EventBus
缺点:EventBus维护成本高,不好管理
②使用广播
缺点:广播不好管理,消息一旦没处理好,就统一都发出去了
③使用隐式意图
缺点:在AndroidManifest.xml里面配置的xml太多了
④使用类加载
缺点:容易写错包名类名
原理:打成apk包的时候,点开dex文件,发现各个模块是在一起的,如图
所以这是类加载方式的灵感
⑤使用全局Map(低配版ARouter)
缺点:要注册很多的对象。
每一个Activity创建的时候,要向这个全局Map里面注册。当需要跳转的时候,就从这个全局Map里面根据key去取相应的Activity对象,这样可以完成通信
版权声明
本文为[独饮敌敌畏丶]所创,转载请带上原文链接,感谢
https://blog.csdn.net/afdafvdaa/article/details/121648386
边栏推荐
- Dolphinscheduler源码包src.tar.gz解压问题
- Oracle Job定时任务的使用详解
- Winter combat camp hands-on combat - MySQL database rapid deployment practice lead mouse cloud Xiaobao
- pycharm Install packages failed
- Chaos vous emmène au projet chaos.
- Prometheus cortex Architecture Overview (horizontally scalable, highly available, multi tenant, long-term storage)
- JS 比较2个数组中不同的元素
- Exception record-8
- 双指针仪表盘读数(一)
- iTOP4412无法显示开机动画(4.0.3_r1)
猜你喜欢
【机器学习】笔记 4、KNN+交叉验证
Practice using polardb and ECs to build portal websites
Redis practice notes and source code analysis
统一任务分发调度执行框架
Static interface method calls are not supported at language level ‘5‘ 异常解决
this.getOptions is not a function
Relabel of Prometheus_ Configs and metric_ relabel_ Configs explanation and usage examples
OSS云存储管理实践(体验有礼)
iTOP4412 HDMI显示(4.4.4_r1)
Winter combat camp hands-on combat - first understand the cloud foundation, hands-on practice ECS ECS ECS novice on the road to get the mouse cloud Xiaobao backpack shadowless
随机推荐
专用窗口函数rank, dense_rank, row_number
Relabel of Prometheus_ Configs and metric_ relabel_ Configs explanation and usage examples
oracle对表字段的修改
ARGB透明度换算
Information:2021/9/29 10:01 - Build completed with 1 error and 0 warnings in 11s 30ms Error异常处理
几款电纸书阅读器参数对比
利用栈实现队列的出队入队
iTOP4412内核反复重启
Oracle锁表查询和解锁方法
19C环境ORA-01035登陆报错处理
同时解决高度塌陷和外边距重叠问题
oracle清除sql的缓存
Abnormal record-15
双指针仪表盘读数(一)
Kubernetes coredns FAQ reference
組件化學習
Exception record-6
oracle中生成32位uuid
Practice using polardb and ECs to build portal websites
useReducer基本用法