大家好,我系苍王。

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

[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,也可以扫码进群。我在这里期待你们的加入!!!

[Android组件化]分发模块依赖倒置相关推荐

  1. 【Android 组件化】路由组件 ( 页面跳转参数依赖注入 )

    文章目录 一.参数自动注入 二.自定义注解 三.使用 @Extra 自定义注解 四.注解处理器解析 @Extra 自定义注解 并生成相应 Activity 对应代码 五.博客资源 组件化系列博客 : ...

  2. 【Android 组件化】路由组件 ( 生成 Root 类记录模块中的路由表 )

    文章目录 一.Root 表作用 二.生成 Root 表 三.完整注解处理器代码 及 生成的 Java 代码 ( 仅供参考 ) 1.注解处理器代码 2.app 模块中的注解类生成的 Java 源码 3. ...

  3. android 多态如何组件化,Android组件化之子模块之间通信方案

    1 背景 Android开发中你的模块(Module)一般只有一个app主模块,随着功能不断扩展你会发现一个模块的缺点就是各种业务高度耦合,你就想测试登录模块,那么你可能会把支付模块也编译进去了,代价 ...

  4. 业务逻辑组件化android,AppJoint 极简 Android 组件化方案

    AppJoint 极简 Android 组件化方案.仅包含 3 个注解加 1 个 API,超低学习成本,支持渐进式组件化. 开始接入 在项目根目录的 build.gradle 文件中添加 AppJoi ...

  5. Android组件化打造知乎日报系列(一)—— 项目架构搭建

    Android组件化打造第三方知乎日报系列(一)-- 项目架构搭建 本节完整代码可以前往github查看,项目地址:github.com/N0tExpectEr- Android组件化打造知乎日报系列 ...

  6. 为何需要Android组件化,如何搭建?

    为什么需要android组件化? 因为,一个项目(APP)里面有很多功能模块啊,有些功能模块完全可以提出来公用.例如:网络请求(登录.注册).图片处理(压缩.点击)等. 张华洋老师博客说的很多:And ...

  7. android组件化开发视频教程,教你打造一个Android组件化开发框架

    作者简介 本篇来自 lucky_billy 的投稿,分享了他的开源组件化框架,详细地讲解框架形成的思路,希望对大家有所帮助. lucky_billy 的博客地址: 解读开源框架设计思想 B站学习视频 ...

  8. 【Android 组件化】路由组件 ( 路由框架概述 )

    文章目录 一.路由框架概述 二.路由框架整体流程 三.博客资源 组件化系列博客 : [Android 组件化]从模块化到组件化 [Android 组件化]使用 Gradle 实现组件化 ( Gradl ...

  9. 【Android 组件化】路由组件 ( 组件间共享的服务 )

    文章目录 一.组件间共享的服务 二.注解处理器添加对上述 " 组件间共享的服务 " 的支持 三.注解处理器 生成代码规则 四.完整注解处理器代码 及 生成的 Java 代码 1.注 ...

最新文章

  1. 用cxf开发restful风格的WebService
  2. CTFshow php特性 web99
  3. 九十分钟极速入门Linux——Linux Guide for Developments 学习笔记
  4. Fiddler学习之——对Android应用进行抓包
  5. 基于MySQL的高可用可扩展架构探讨
  6. linux备份mysql需要暂停服务吗_【MySQL运维】线上MySQL数据库停服迁移流程
  7. 前驱和后驱什么意思_为什么只有豪车才敢用后驱
  8. 一个真正0基础小白学习前端开发的心路历程
  9. [Spring+Hibernate系列]2.项目介绍与首个MVC实例
  10. 又优化了一下 Android ListView 异步加载图片
  11. 3.3 以太网交换机
  12. 基于html超市管理系统,超市管理系统后台模板
  13. Sketchup2019安装包安装教程
  14. 一种快速求解最大团问题的算法
  15. laravel 分页 + 分页的样式
  16. 03一般过去时和主谓双宾
  17. C++进程间通信的十一种方法
  18. python图片raw转换成jpg
  19. 深度解析IPFS是什么
  20. ospf状态机-通俗易懂的小故事

热门文章

  1. EasyUI环境搭建与入门基础语法
  2. Webservice入门教程_教程目录以及地址
  3. 知识图谱(二)——知识表示
  4. 【TensorFlow】笔记2:深层神经网络
  5. 周四话分析:数据驱动,如何塑造下一个“教育领头羊”?
  6. 流量时代已亡,如何在 ROI 的魔咒下生存?
  7. 小试牛刀(1)简单实现用户添加和登录(文件版)
  8. 历史性胜利!纽约曼哈顿充电站数量超过加油站
  9. 黑马day14 过滤器概述amp;生命周期amp;运行过程
  10. sed原理的一些感悟