大家好,我係蒼王。
以下是我這個系列的相關文章,有興趣可以參考一下,可以給個喜歡或者關注我的文章。
[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,也可以掃碼進群。我在這裡期待你們的加入!!!