当前位置:网站首页>组件化学习(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
边栏推荐
- 利用栈实现队列的出队入队
- Exception record-8
- ORACLE表有逻辑坏块时EXPDP导出报错排查
- Chaos vous emmène au projet chaos.
- qs. In the stringify interface, the input parameter is converted into a & connected string (with the application / x-www-form-urlencoded request header)
- RAC环境集群组件gpnp未启动成功问题分析
- sys.dbms_scheduler.create_job创建定时任务(功能更强大丰富)
- 19C RAC修改VIP及SCANIP步骤-同网段
- Abnormal record-10
- Build a cloud blog based on ECS (send blessings on the cloud Xiaobao code and draw iphone13 for free)
猜你喜欢

this.getOptions is not a function

Dolphinscheduler源码包src.tar.gz解压问题

Using Prom label proxy to implement label based multi tenant reading of Prometheus thanos

iTOP4412 HDMI显示(4.4.4_r1)

10g数据库使用大内存主机时不能启动的问题

统一任务分发调度执行框架

Apache Atlas 编译及安装记录

开篇:双指针仪表盘的识别

Try catch cannot catch asynchronous errors

Memcached source code analysis
随机推荐
Abnormal record-18
Error alarm of Postgres master-slave replication delay monitoring
Oracle Job定时任务的使用详解
Winter combat camp hands-on combat - cloud essential environment preparation, hands-on practical operation, quickly build lamp environment, lead mouse cloud Xiaobao backpack without shadow
补补网络缺口
BCC installation and basic tool instructions
iTOP4412 HDMI显示(4.4.4_r1)
Abnormal record-13
Information:2021/9/29 10:01 - Build completed with 1 error and 0 warnings in 11s 30ms Error异常处理
Binder机制原理
Apache Atlas 编译及安装记录
Abnormal record-19
oracle清除sql的缓存
Antd Design Form表单检验
Prometheus alarm record persistence (historical alarm saving and Statistics)
ORACLE表有逻辑坏块时EXPDP导出报错排查
同时解决高度塌陷和外边距重叠问题
Abnormal record-12
Exception record-8
npm ERR code 500解决