[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,也可以掃碼進群。我在這里期待你們的加入!!!
總結
以上是生活随笔為你收集整理的[Android组件化]分发模块依赖倒置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的第一个Github项目上线了
- 下一篇: C# BackgroundWorker