[Android]如何做一个崩溃率少于千分之三噶应用app(27
大家好,我系苍王。
以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。
[Android]如何做一个崩溃率少于千分之三噶应用app--章节列表
首先,这里先提一下,可以先查阅我之前的篇章
这里发布的是一个升级的的分发模块的架构,命名为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,也可以扫码进群。我在这里期待你们的加入!!!