电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

Android組件化和插件化開發

瀏覽:45日期: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
相關文章:
主站蜘蛛池模板: 高压贴片电容|贴片安规电容|三端滤波器|风华电容代理南京南山 | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 辽宁资质代办_辽宁建筑资质办理_辽宁建筑资质延期升级_辽宁中杭资质代办 | 低粘度纤维素|混凝土灌浆料|有机硅憎水粉|聚羧酸减水剂-南京斯泰宝 | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | LCD3D打印机|教育|桌面|光固化|FDM3D打印机|3D打印设备-广州造维科技有限公司 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | 塑料薄膜_PP薄膜_聚乙烯薄膜-常州市鑫美新材料包装厂 | 洗石机-移动滚筒式,振动,螺旋,洗矿机-青州冠诚重工机械有限公司 | 缠绕机|缠绕膜包装机|缠绕包装机-上海晏陵智能设备有限公司 | 百方网-百方电气网,电工电气行业专业的B2B电子商务平台 | 健身器材-健身器材厂家专卖-上海七诚健身器材有限公司 | 体坛网_体坛+_体坛周报新闻客户端 | 消泡剂-水处理消泡剂-涂料消泡剂-切削液消泡剂价格-东莞德丰消泡剂厂家 | Copeland/谷轮压缩机,谷轮半封闭压缩机,谷轮涡旋压缩机,型号规格,技术参数,尺寸图片,价格经销商 CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 膏方加工_丸剂贴牌_膏滋代加工_湖北康瑞生物科技有限公司 | 井式炉-台车式回火炉-丹阳市电炉厂有限公司 | 聚合甘油__盐城市飞龙油脂有限公司| 广州昊至泉水上乐园设备有限公司 | 开平机_纵剪机厂家_开平机生产厂家|诚信互赢-泰安瑞烨精工机械制造有限公司 | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | 海外仓系统|国际货代系统|退货换标系统|WMS仓储系统|海豚云 | 悬浮拼装地板_幼儿园_篮球场_悬浮拼接地板-山东悬浮拼装地板厂家 | 泰国试管婴儿_泰国第三代试管婴儿_泰国试管婴儿费用/多少钱_孕泰来 | 郑州外墙清洗_郑州玻璃幕墙清洗_郑州开荒保洁-河南三恒清洗服务有限公司 | 深圳市八百通智能技术有限公司官方网站 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 我爱古诗词_古诗词名句赏析学习平台 | 电机修理_二手电机专家-河北豫通机电设备有限公司(原石家庄冀华高压电机维修中心) | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 成都离婚律师|成都结婚律师|成都离婚财产分割律师|成都律师-成都离婚律师网 | 渗透仪-直剪仪-三轴仪|苏州昱创百科| 数显水浴恒温振荡器-分液漏斗萃取振荡器-常州市凯航仪器有限公司 |