av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Android組件化和插件化開發

瀏覽:37日期:2022-09-27 13:41:03
什么是組件化和插件化?

組件化開發就是將一個app分成多個模塊,每個模塊都是一個組件(Module),開發的過程中我們可以讓這些組件相互依賴或者單獨調試部分組件等,但是最終發布的時候是將這些組件合并統一成一個apk,這就是組件化開發。插件化開發和組件化開發略有不用,插件化開發時將整個app拆分成很多模塊,這些模塊包括一個宿主和多個插件,每個模塊都是一個apk(組件化的每個模塊是個lib),最終打包的時候將宿主apk和插件apk分開或者聯合打包。

組件化概述

android工程的組件一般分為兩種,lib組件和application組件application組件是指該組件本身就可以運行并打包成apklib組件是指該組件屬于app的一部分,可以供其它組件使用但是本身不能打包成apk

為什么要有組件化?

加入一個app工程只有一個組件,隨著app業務的壯大模塊越來越多,代碼量超10萬是很正常的,這個時候我們會遇到以下問題

稍微改動一個模塊的一點代碼都要編譯整個工程,耗時耗力公共資源、業務、模塊混在一起耦合度太高不方便測試組件化正確的姿勢

既然選擇使用組件化,那么如何正確的使用它呢?這里給出一種解決方案,如果你有更好的方案,歡迎交流。我們創建了一個app工程project,默認里面有一個app組件,這個app組件是可以直接運行的。怎么劃分組件呢?

1.新建一個lib組件,new Module—>Andorid Library,取名BaseUtilLib,我們將所有的公共的工具類、網絡分裝等類放在其中2.新建一個lib組件,BaseReslLib,我們將所有的公共資源、drawable、String等類放在其中3.將app按照自己的規則劃分成多個模塊,比如按業務按地區等都可以4.逐一開發某個模塊,比如Test模塊,新建一個TestApp組件,TestApp組件引用[1][2]步驟的BaseUtilLib和BaseReslLib,在TestApp組件里添加并引用TestLib組件。在TestLib的activity中寫代碼寫業務邏輯,TestApp只負責跳轉和測試5.將工程中的所有類似TestLib組件(不是TestApp組件)引入到工程的app中看著有點亂,整理出一張圖Android組件化和插件化開發

這樣的好處有

每個模塊可以獨立開發編譯運行開發單個模塊時可以共享資源和工具類可以針對單個模塊測試

demo地址:https://github.com/halibobo/ModuleBuild

插件化為什么有插件化?

有了組件化,為什么還要用插件化呢?插件化開發總的來說有以下幾點好處(不同插件框架不一樣):

宿主和插件分開編譯并發開發動態更新插件按需下載模塊方法數或變量數爆棚處境

開放出來的插件化開發框架比較多,他們各自都有自己的優勢和和不足,實現的原理也有差別下面列

開源的插件化框架Qihoo360/DroidPluginCtripMobile/DynamicAPKmmin18/AndroidDynamicLoadersingwhatiwanna/dynamic-load-apkhoukx/android-pluginmgrbunnyblue/ACDDwequick/Small……

目前開源的這幾個框架有宿主和插件分離的也有融合在一起的,每個框架的詳細介紹和demo在github里都可以查看到。插件化demo運行起來比較簡單,但是真正將它用到實際項目中還是要考慮很多小細節的,目前我也正處于研究階段。

標簽: Android
相關文章:
主站蜘蛛池模板: 国产三区精品 | 四虎成人免费电影 | 欧美精品一区二区三区在线四季 | 欧美一区二区三区在线观看视频 | 久久久久久亚洲 | 国产最新视频在线 | 91午夜在线 | 亚洲国产精品成人无久久精品 | 91原创视频在线观看 | 天堂一区二区三区 | 亚洲午夜精品 | 亚洲综合电影 | 国产日韩久久 | 久久99久久99精品免视看婷婷 | 亚洲精品一区二区在线观看 | 精品一区二区在线视频 | 日日干天天操 | 日韩久久久久久 | 国产精品九九九 | 永久网站 | 亚洲精品视频在线 | 久久精品国产亚洲夜色av网站 | 欧美在线视频观看 | 亚洲视频www| 偷拍自拍第一页 | 国产专区在线 | 日本在线中文 | 成人二区 | 在线免费看黄 | 亚洲精品68久久久一区 | 特级特黄特色的免费大片 | 精品国产精品国产偷麻豆 | 久久www免费视频 | 国产精品久久久久无码av | 免费中文字幕日韩欧美 | 久久久久久国模大尺度人体 | 成人1区2区| 精品国产乱码久久久久久老虎 | 狠狠视频 | 国产精品久久久久久久久久 | 久久精品91久久久久久再现 |