[Android组件化]分发模块依赖倒置

大家好,我系苍王。

以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。

[Android]如何做一个崩溃率少于千分之三噶应用app--章节列表


首先,这里先提一下,可以先查阅我之前的篇章

1.Activity分发功能module架构

2.Fragment分发module架构

3.View分发module架构

这里发布的是一个升级的的分发模块的架构,命名为ModuleBusEx(https://github.com/cangwang/ModuleBus/tree/ModuleBus_Ex),欢迎大家star一下。


使用这种框架,可以组件化实现例如映客直播间里面的效果,达到最佳完美的解耦。



一.ModuleBusEx优势

说一下ModuleBus进化版的优势

1.多层级,而且并木有重复叠加层级问题

2.同一个界面多模块独立研发

3.模块可以自由控制布局添加位置

4.模块中拥有自身的生命周期

5.自由加入和移除模块。

6.自由显示和隐藏模块。

7.通信框架使用原ModuleBus升级,可以不需要在base类中添加信息对象,通过方法名记录索引通信。(EventBus和RxBus需要在base中添加额外的通信信息类,具体使用,可以参考ModuleBus


二.实现优化

(1)本次优化最重要使用了RxJava和RxAndroid的线程加载方式,让加载初始速度得到质的飞越,解决了原ModuleBus加载卡顿问题。

代码并不复杂,直接上代码吧,也就是使用RxJava和RxAndroid异步创建和加载。


(2)另一个重要的升级是,使用层级加载。初始配置上中下三个层级,可以达到分层级布局和加载,我们逻辑里是这样的。


然而使用FrameLayout作为总布局,其层级优化为最短。


(3)这里使用了依赖导致的方式,可以每个模块自由配置布局方式。


已经封装布局加载方法



(4)自由加载模块和移除模块,随意隐藏和显示布局,这里注意需要使用自定义的findviewById方法。




(5)ModuleBus是通过方法名的注册和索引,基础的数据类型,无需在base module添加对象。



以后优化的方向

1.任意调整布局主层级。

2.模块叠加顺序调整。

详细可以查看ModuleBusEx(https://github.com/cangwang/ModuleBus/tree/ModuleBus_Ex),欢迎大家star一下。


尝试才能找到最优解。

下一节将会更精彩,敬请期待!!!

群号是316556016,也可以扫码进群。我在这里期待你们的加入!!!




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值