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

你們好,我係蒼王。
git

如下是我這個系列的相關文章,有興趣能夠參考一下,能夠給個喜歡或者關注個人文章。github

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


首先,這裏先提一下,能夠先查閱我以前的篇章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,也能夠掃碼進羣。我在這裏期待大家的加入!!!

相關文章
相關標籤/搜索