黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 什么是Android組件化,為什么要組件化?

什么是Android組件化,為什么要組件化?

來源:千鋒教育
發布人:xqq
時間: 2023-10-12 20:36:56 1697114216

一、Android組件化含義

組件化是指解耦復雜系統時,將多個功能模板拆分、重組的過程。在Android工程表現上就是把app按照其業務的不同,劃分為不同的Module。組件化架構的目的就是讓每個業務模塊變得相對獨立,各個組件在組件模式下可以獨立開發調試,集成模式下又可以集成到“app殼工程”中,從而得到一個具有完整功能的APP。

二、為什么要Android組件化

1、提高工程編譯速度

進行組件化拆分后,每個業務或者功能都是一個單獨的工程,這個單獨的工程可以獨立編譯運行,拆分后的工程通常都比較小,代碼量也比較少,我再也不用像以前編譯一下得等待好幾分鐘了。

2、利于多人團隊協作開發

業務組件之間不能相互引用,每個組件都把對應的業務功能收斂在一個工程里,彼此互不打擾。 在多人團隊里,每個人只負責自己的業務模塊,他對業務功能的增刪改查,都只限定在自己的這個業務模塊里,不會影響其他人的業務,他代碼質量的好壞也只會影響到自己的業務模塊;對測試來說,也十分方便,大部分情況下,我們只需要著重測試修改過的業務組件即可,而不用老是進行全部回歸測試。

3、組件化是功能重用的基石

業務組件類似一個個積木一樣,我們可以用積木搭建出不同的房子,同理我們也可以創建多個不同的APP。我們只需要維護好每個組件,需要用到該組件的功能時,一建引用集成就可以了。

4、提高組件復用性

可能有些人會覺得,提高復用性很簡單,直接把需要復用的代碼做成Android Module,打包AAR并上傳代碼倉庫,那么這部分功能就能被方便地引入和使用。但是我們覺得僅僅這樣是不夠的,上傳倉庫的AAR庫是否方便被復用,需要組件化的規則來約束,這樣才能提高復用的便捷性。

5、降低組件間的耦合

我們需要通過組件化的規則把代碼拆分成不同的模塊,模塊要做到高內聚、低耦合。模塊間也不能直接調用,這需要組件化通信框架的支持。降低了組件間的耦合性可以帶來兩點直接的好處:

代碼更便于維護降低了模塊的Bug率

三、Android組件化基礎

1、組件之間的跳轉

組件化中兩個功能模塊時不直接依賴的,其依賴規則是通過 Base module 間接依賴,當組件之間的 Activity 進行界面跳轉時,由于沒有相互依賴的關系,往往會無法引用另一個 module 中的 Activity。

2、隱式跳轉

隱式跳轉是通過 Android 原生 Intent 匹配機制來實現相應跳轉,就是使用 Action 來跳轉到對應的 Activity,這樣使用隱式跳轉的方式就可以跨 module 實現 Activity 之間的跳轉了,注意一點,如果移出 Activity 所在的 module 而不移出相應的跳轉,如果繼續跳轉會出現異常,使用隱式 Intent 跳轉需要驗證是否會接收該 Intent,需要對該 Intent 對象調用 resolveActivity() 方法來判斷至少有一個應用能夠處理該 Intent,通過隱式跳轉的方式還可以設置 exported 為 false 來確保只有自己的 App 才能夠啟動對應的組件。

3、ARouter跳轉

在 Android 開發中可將 module 看成不同的網絡,而對應的 Router 就是連接各個 module 的中轉站,這個中轉站可以對頁面跳轉的參數等進行統一處理,ARouter 是阿里開源出來的一個頁面跳轉路由,使用 ARouter 可以替代隱式跳轉來完成不同 module、不同組件之間的跳轉以及跳轉過程的監聽、參數的傳遞等,ARouter 支持路徑跳轉和 URL 跳轉兩種方式,使用也非常靈活,ARouter 的具體使用這里不做介紹,其具體使用會在單獨一篇文章中詳解,ARouter 與 Android 傳統跳轉方式的對比如下:

顯示跳轉需要依賴于類,而路由跳轉通過指定的路徑跳轉;隱式跳轉通過 AndroidManifest 集中管理,導致協作開發困難;原生使用 AndroidManifest 來注冊,而路由使用注解注冊原生 startActivity 之后跳轉過程交由 Android 系統控制,而路由跳轉采用的是 AOP 切面編程可對跳轉過程進行攔截和過濾。

4、動態創建

組件化開發中最重要的一點就是各個模塊、各個組件之間要盡可能解耦,這樣很容易就會想到使用 Java 中的反射機制,使用反射可在運行狀態下獲取某個類的所有信息,然后就可以動態操作這個類的屬性和方法了。如果 Fragment 單獨作為一個組件來使用時,當這個 Fragment 組件不需要被移出后,如果是常規的 Fragment 則會因為索引不到該 Fragment 而使得 App 崩潰,想一下如果使用反射創建 Fragment 的方式則至少不會引起 App 崩潰,這里可以捕捉異常完成相關邏輯,這樣是不是降低了耦合呢。可見,雖然反射有一定的性能問題,但使用反射確實能在一定程度上降低耦合,學習組件化 Java 反射機制應該是必須的一部分。

延伸閱讀1:組件化結構

app殼:負責管理各個業務組件和打包APK,沒有具體的業務功能;業務組件層:最上層的業務,每個組件表示一條完整的業務線,彼此之間相互獨立;功能/基礎組件層:支撐上層業務組件運行的基礎業務服務;基礎庫:包含了各種開源庫以及和業務無關的一個自研工具庫。
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
美女被草网站| 尤物视频网站在线观看| a级毛片免费观看网站| 色综合久久天天综合| 日韩av成人| 成人免费观看的视频黄页| 国产视频久久久久| 亚洲天堂在线播放| 国产高清视频免费| 国产一区二区精品久久91| 麻豆系列国产剧在线观看| 色综合久久天天综合绕观看| 国产一区二区精品| 成人免费网站视频ww| 二级特黄绝大片免费视频大片| 午夜欧美福利| 欧美1区| 亚洲www美色| 香蕉视频三级| 色综合久久天天综合观看| 久久国产影院| 欧美激情影院| 台湾美女古装一级毛片| 国产成人精品一区二区视频| 欧美1卡一卡二卡三新区| 999精品在线| 成人免费网站视频ww| a级精品九九九大片免费看| 日韩男人天堂| 亚洲精品影院久久久久久| 精品视频在线看| 国产极品精频在线观看| 欧美一级视频免费观看| 久久久久久久男人的天堂| 一级毛片视频在线观看| 日本乱中文字幕系列| 免费一级片在线观看| 日日日夜夜操| 国产不卡福利| 在线观看导航| 日韩免费在线视频| 国产精品123| 日韩欧美一及在线播放| 国产视频一区在线| 色综合久久天天综合观看| 日韩女人做爰大片| 黄视频网站在线看| 成人免费网站久久久| 午夜在线亚洲男人午在线| 日日夜人人澡人人澡人人看免| 中文字幕Aⅴ资源网| 黄视频网站免费观看| 亚欧成人毛片一区二区三区四区| 四虎影视精品永久免费网站| 精品在线观看一区| 欧美激情一区二区三区中文字幕| 精品视频免费看| 国产高清在线精品一区二区| 久久99爰这里有精品国产| 欧美a级成人淫片免费看| 日韩中文字幕在线亚洲一区| 一级片片| 成人高清视频免费观看| 精品久久久久久中文字幕2017| 色综合久久天天综合绕观看| 99热精品在线| 黄视频网站在线免费观看| 亚洲 欧美 91| 成人在免费观看视频国产| 久久久成人网| 九九免费精品视频| 欧美1卡一卡二卡三新区| 99热热久久| 欧美爱色| 亚洲 欧美 91| 一级女性全黄生活片免费| 国产综合成人观看在线| 精品视频在线观看一区二区 | 国产网站免费视频| 国产一区二区精品尤物| 日韩av东京社区男人的天堂| 高清一级片| 国产国产人免费视频成69堂| 国产高清在线精品一区二区 | 欧美爱色| 日韩字幕在线| 久久国产影视免费精品| 成人av在线播放| 麻豆系列 在线视频| 九九免费高清在线观看视频| 国产综合成人观看在线| 可以在线看黄的网站| 色综合久久久久综合体桃花网| 九九免费高清在线观看视频| 一级女性全黄久久生活片| 精品视频在线观看一区二区三区| 国产不卡高清在线观看视频| 日本在线不卡免费视频一区| 日韩一级黄色| 一级女性全黄生活片免费| 午夜家庭影院| 国产a网| 久久久久久久网| 四虎影视久久久免费| 免费一级生活片| 午夜精品国产自在现线拍| 99久久精品国产高清一区二区 | 一本高清在线| 国产一区二区精品尤物| 青青久久精品| 九九久久99综合一区二区| 国产美女在线一区二区三区| 成人高清护士在线播放| 国产麻豆精品hdvideoss| 中文字幕一区二区三区 精品| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美爱色| 成人a级高清视频在线观看| 欧美一区二区三区性| 成人免费福利片在线观看| 国产极品精频在线观看| 亚洲精品永久一区| 亚洲第一色在线| 91麻豆精品国产自产在线观看一区| 一a一级片| 日本免费看视频| 亚洲精品久久久中文字| 国产成人精品在线| 成人影院久久久久久影院| 久久国产一久久高清| 久久国产精品永久免费网站| 四虎影视久久久免费| 欧美激情影院| 国产精品自拍在线观看| 国产不卡精品一区二区三区| 国产韩国精品一区二区三区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产精品免费久久| 免费国产在线观看| 九九热精品免费观看| 91麻豆国产| 成人免费福利片在线观看| 一级女性全黄生活片免费| 一级女性大黄生活片免费| 亚洲 男人 天堂| 免费一级生活片| 成人免费福利片在线观看| 欧美大片毛片aaa免费看| 欧美国产日韩精品| 国产极品白嫩美女在线观看看| 国产一区精品| 国产不卡在线观看| 天天色色色| 日韩专区第一页| 青青久热| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品视频在线观看一区二区三区| 色综合久久天天综线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩专区一区| 韩国毛片免费大片| 日日夜夜婷婷| 一级女性全黄生活片免费| 国产亚洲精品aaa大片| 999久久66久6只有精品| 日韩在线观看视频免费| 高清一级片| 欧美大片一区| 国产91素人搭讪系列天堂| a级精品九九九大片免费看| 成人影院一区二区三区| 99色视频在线| 亚欧乱色一区二区三区| 久久99青青久久99久久| 999久久狠狠免费精品| 四虎论坛| 99久久网站| 精品国产一区二区三区久| 你懂的福利视频| 天天做日日爱夜夜爽| 99久久精品国产国产毛片| 国产一区二区高清视频| 麻豆网站在线免费观看| 国产激情一区二区三区| 日本特黄特黄aaaaa大片| 人人干人人草| 国产成人精品影视| 亚洲精品影院| 国产91视频网| 亚洲天堂一区二区三区四区| 国产精品自拍一区| 欧美激情一区二区三区视频| 高清一级做a爱过程不卡视频| 亚洲 欧美 91| 四虎影视库国产精品一区| 亚洲www美色| 国产麻豆精品| 日韩一级精品视频在线观看| 青青久久精品| 成人免费高清视频|