[Android元件化]分發模組依賴倒置

Cang_Wang發表於2017-06-26

大家好,我係蒼王。

以下是我這個系列的相關文章,有興趣可以參考一下,可以給個喜歡或者關注我的文章。

[Android]如何做一個崩潰率少於千分之三噶應用app--章節列表


首先,這裡先提一下,可以先查閱我之前的篇章

1.Activity分發功能module架構

2.Fragment分發module架構

3.View分發module架構

這裡釋出的是一個升級的的分發模組的架構,命名為ModuleBusEx(https://github.com/cangwang/ModuleBus/tree/ModuleBus_Ex),歡迎大家star一下。


使用這種框架,可以元件化實現例如映客直播間裡面的效果,達到最佳完美的解耦。

[Android元件化]分發模組依賴倒置


一.ModuleBusEx優勢

說一下ModuleBus進化版的優勢

1.多層級,而且並木有重複疊加層級問題

2.同一個介面多模組獨立研發

3.模組可以自由控制佈局新增位置

4.模組中擁有自身的生命週期

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

6.自由顯示和隱藏模組。

7.通訊框架使用原ModuleBus升級,可以不需要在base類中新增資訊物件,通過方法名記錄索引通訊。(EventBus和RxBus需要在base中新增額外的通訊資訊類,具體使用,可以參考ModuleBus


二.實現優化

(1)本次優化最重要使用了RxJava和RxAndroid的執行緒載入方式,讓載入初始速度得到質的飛越,解決了原ModuleBus載入卡頓問題。

程式碼並不複雜,直接上程式碼吧,也就是使用RxJava和RxAndroid非同步建立和載入。

[Android元件化]分發模組依賴倒置

(2)另一個重要的升級是,使用層級載入。初始配置上中下三個層級,可以達到分層級佈局和載入,我們邏輯裡是這樣的。

[Android元件化]分發模組依賴倒置

然而使用FrameLayout作為總佈局,其層級優化為最短。

[Android元件化]分發模組依賴倒置

(3)這裡使用了依賴導致的方式,可以每個模組自由配置佈局方式。

[Android元件化]分發模組依賴倒置

已經封裝佈局載入方法

[Android元件化]分發模組依賴倒置


(4)自由載入模組和移除模組,隨意隱藏和顯示佈局,這裡注意需要使用自定義的findviewById方法。

[Android元件化]分發模組依賴倒置

[Android元件化]分發模組依賴倒置


(5)ModuleBus是通過方法名的註冊和索引,基礎的資料型別,無需在base module新增物件。

[Android元件化]分發模組依賴倒置

[Android元件化]分發模組依賴倒置

以後優化的方向

1.任意調整佈局主層級。

2.模組疊加順序調整。

詳細可以檢視ModuleBusEx(https://github.com/cangwang/ModuleBus/tree/ModuleBus_Ex),歡迎大家star一下。


嘗試才能找到最優解。

下一節將會更精彩,敬請期待!!!

群號是316556016,也可以掃碼進群。我在這裡期待你們的加入!!![Android元件化]分發模組依賴倒置




相關文章