![【移動應用開發(fā)技術】android module解耦組件化總體概述(推薦)_第1頁](http://file4.renrendoc.com/view/01d6a2a3d928da1e3e0216b9eea59ae8/01d6a2a3d928da1e3e0216b9eea59ae81.gif)
![【移動應用開發(fā)技術】android module解耦組件化總體概述(推薦)_第2頁](http://file4.renrendoc.com/view/01d6a2a3d928da1e3e0216b9eea59ae8/01d6a2a3d928da1e3e0216b9eea59ae82.gif)
![【移動應用開發(fā)技術】android module解耦組件化總體概述(推薦)_第3頁](http://file4.renrendoc.com/view/01d6a2a3d928da1e3e0216b9eea59ae8/01d6a2a3d928da1e3e0216b9eea59ae83.gif)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
【移動應用開發(fā)技術】androidmodule解耦組件化總體概述(推薦)
原由
移動開發(fā)中,隨著項目不斷的跌代,需求越來越復雜后。項目工程也越來越龐大。那么此時的分module的開發(fā),則是必然的選擇了。在最終的組件化之路上,不妨把單一工程比如石器時代,那么接下來簡單的拆分工程分多個moudle開來就是銅器時代。銅器時代之簡單分module
演進
由于從復雜的單工程拆分了多個module了,達到了代碼及資源的初步的隔離,或需求模塊的開發(fā)人員,開始專注于自己的需求模塊module的開發(fā)了。但是隨著部分需求有相關性,需要相互調用時。那么問題來了,在AXXXmodule中而在BXXXmodule中這時出現了相互依賴,首先編譯器會能不過,會出現Circulardependency,循環(huán)相互依賴的問題,這是絕不允許的。為了解決上述的問題,將AXXXmodule與BXXXmodule需要對外提供服務能力支持的,進行封裝與抽象。將需要對外暴露接口/協議地方,對其抽象出接口出來。把些這接口獨立放在BaseXXXXmodule中,這樣AXXXmodule與BXXXmodule,都分別去通過BaseXXXX中間module通信去解決AXXXmodule與BXXXmodule相互依賴調用通信。初步的解決方法
為了在BaseXXXXmodule中,搭建起AXXXmodule與BXXXmodule相互通信的橋梁,可以在BaseXXXXmodule定義一個通信標識接口:然后主要通過ModuleApiHelper進行通信這樣比如在AXXXmodule中將原有AServiceData類是如下的:改造成將IAServiceData接口定義在BaseXXXXmodule中。然后AXXXmodule中進行register相應的服務這樣調用AModuleService的init方法,即可對IAServiceData服務進行注冊了。然后即下來,在BXXXmodule中進行getXXX得到服務即可調用相應的方法了.
在任何需要此服務的方法可如下調用:注意
1>register注冊時機,需要越早越好,一般建議在各module的有類似的application的onCreate時注冊最好。
2>IModuleApi與ModuleApiHelper,和各extends繼承IModuleApi接口的接口,需要放在中間通信BaseXXXModule中。各需要通信的module去compile/apiBaseXXXModule即可。問題
為了保證IModuleApi接口注冊有效,需要越早越好進行注冊。這樣隨著項目越來越復雜,需要通信的地方越來越多。統(tǒng)一的ModuleApiHelper,注冊的地方將越來越多帶的問題也多起來。
1>注冊Map容器占用的內存不斷的增多。
2>register注冊的地方不統(tǒng)一,有些放在各module的類Application的onCreate中,有些可能是放在其它的類中.
3>不支持ui頁面的跳轉,由AXXXmodule的AxxActtivy頁面跳轉到BXXXmodule的BxxActivity頁面中。
4>不支持多進程中應用。為了解決上述問題,引入了蒸汽時代之ARoute到來。蒸汽時代之ARoute
由于遍幅的原因,總體概述不詳細細述ARoute,下遍再剖析ARoute??傮w來說在多module通信中解決了:
1>解決了ui頁面的跳轉問題。
2>根據需要進行register的問題,且register通過靜態(tài)注解來的,所以register地方統(tǒng)一比如容易
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球低聚半乳糖粉末行業(yè)調研及趨勢分析報告
- 2025-2030全球汽車水泵機械密封行業(yè)調研及趨勢分析報告
- 2025-2030全球CT 掃描計量行業(yè)調研及趨勢分析報告
- 2025房屋建設合同詳細格式模板
- 商品房后期買賣合同
- 農業(yè)物聯網技術應用推廣合同
- 2025位委托人事代理合同書
- 2025合同的含義、作用、特點以及合同寫作注意事項
- 2025清洗清潔合同
- 2025信息化咨詢項目合同書
- (二模)遵義市2025屆高三年級第二次適應性考試試卷 地理試卷(含答案)
- 二零二五隱名股東合作協議書及公司股權代持及回購協議
- IQC培訓課件教學課件
- 2025年計算機二級WPS考試題目
- 高管績效考核全案
- 2024年上海市中考英語試題和答案
- 教育部《中小學校園食品安全和膳食經費管理工作指引》知識培訓
- 長沙醫(yī)學院《無機化學》2021-2022學年第一學期期末試卷
- eras婦科腫瘤圍手術期管理指南解讀
- GB/T 750-2024水泥壓蒸安定性試驗方法
- 初一到初三英語單詞表2182個帶音標打印版
評論
0/150
提交評論