android熱修復(fù)與插件化實踐之路

? ? ? android原生應(yīng)用開發(fā)發(fā)展到今天砌梆,幾乎每個App都是巨無霸級的大小,手淘桃序,優(yōu)酷這種應(yīng)用更是航母級別的應(yīng)用烂瘫,一個應(yīng)用可能幾百人一起合作開發(fā),在應(yīng)用還小的時候大家可以甜蜜的合作芦鳍,快速的迭代就像孩子小的時候每個人都喜歡葛账,但隨著應(yīng)用越來越大,我們不得不面對的以下幾個問題:第一茄茁,團隊合作的效率越來越低巩割,這是無法避免的,可能一個人的延期就會導(dǎo)致整個版本的延期愈犹,而人越多這個概率就是指數(shù)級別的增長闻丑。第二,潛在的bug越來越多嗦嗡,功能越多侥祭,隱藏的問題就自然就越多茄厘,一旦爆發(fā)可能帶來的影響會非常的大谈宛。第三,應(yīng)用越來越大窑滞,導(dǎo)致新功能的開發(fā)越來越受到限制恢筝,比如:android的方法數(shù)65535的限制,虛擬機內(nèi)存的限制聊训,而且占用內(nèi)存越大的應(yīng)用在后臺被回收的可能性也就越大等等恢氯。當(dāng)然應(yīng)用越來越大絕不僅僅只有這么點問題鼓寺。我們這里列舉的只是幾個比較明顯的問題。那這些問題該如何解決呢敢靡? 這就需要提到我們文章的核心熱修復(fù)與插件化技術(shù)了苦银。

? ? ? 再講熱修復(fù)與插件化技術(shù)前呢大家首先要搞明白動態(tài)加載技術(shù),動態(tài)加載是安卓原生為我們提供的一種加載未安裝到手機系統(tǒng)的apk文件或者jia包中的類纺念,這其中的核心技術(shù)就是對Classloader中的DexClassloader的合理的使用想括。這就為我們提供了一種思路,既然我們可以加載未安裝到android系統(tǒng)的一些特定格式文件中的class烟逊,那我們能不能讓應(yīng)用在運行期動態(tài)的去加載這些文件中的類铺根,從而實現(xiàn)按我們的策略或者需求去加載我們想加載的類和資源呢。答案是肯定的访雪,解決方案就是我們的熱修復(fù)與插件化技術(shù)的實踐。其實熱修復(fù)與插件化就是動態(tài)加載技術(shù)的不同的使用場景蛤虐。下面我們就來分別介紹一下熱修復(fù)與插件化技術(shù)肝陪。

? ? ?熱修復(fù)也叫動態(tài)更新,從名字就可以很容易的理解它的作用饲常,就是用來動態(tài)的修改我們應(yīng)用的缺陷的狼讨。以前我們在應(yīng)用產(chǎn)生bug以后,我們只能無奈的等待字啊一個版本的發(fā)布才能解決這個問題播聪。但有了熱修復(fù)技術(shù)以后布隔,那我們就無需等到下一個版本,可以立馬解決問題招刨,生成patch文件哀军,然后下發(fā)到用戶手機,讓我們的應(yīng)用去安裝了這個patch谎倔,patch文件安裝成功以后淘衙,就可以替換掉我們有問題的代碼,從而達到問題的解決毯侦。經(jīng)過15年的出現(xiàn)具垫,16年的發(fā)展到今天熱修復(fù)技術(shù)已經(jīng)已經(jīng)比較成熟了,比較有代表性的有alibaba的andfix和微信的tinker卦碾,兩種方案各有優(yōu)劣,andfix勝在patch文件可以立馬生效而無需應(yīng)用重啟洲胖,而tinker勝在不僅可以更新代碼還可以更新資源文件济榨,技術(shù)沒有絕對的好與不好,適合自己的就是最好的绿映。有了熱修復(fù)技術(shù)以后基本上就可以解決應(yīng)用越來越大帶來的潛在問題越來越多的問題擒滑。在對熱修復(fù)有了一定的了解后我們在來看插件化技術(shù)。

? ? ? 不同于熱修復(fù)的容易理解叉弦,插件化是一個不太容易被理解的概念丐一,那究竟什么是插件化呢,插件化就是把一個大的應(yīng)用拆分成多個小的應(yīng)用淹冰,這些小的應(yīng)用相互配合實現(xiàn)和我們原來一個大應(yīng)用完全一樣的功能库车,這個過程就叫插件化,無論是手機淘寶樱拴,還是優(yōu)酷等應(yīng)用無一不采用這一技術(shù)進行插件化改造柠衍,而我也有幸參與了這個改造的過程疹鳄,整個流程下來拧略,我的感受是前期確實很繁瑣,各種修改重構(gòu)瘪弓,解耦合,組件化禽最。但當(dāng)整個過程都走完以后腺怯,應(yīng)用的結(jié)構(gòu)變得非常的合理。各團隊間的功能不在那么強耦合川无,即使又耦合的地方也可以通過適當(dāng)?shù)募夹g(shù)去消除呛占,例如:提取公共組件,AIDL等懦趋。插件化以后晾虑,我們每一個功能模塊都是一個獨立的小apk,完全按照我們開發(fā)小應(yīng)用的節(jié)奏仅叫,一切又變的那么的簡單帜篇。插件化技術(shù)比較成熟的是alibaba的Atlas和一個開源的框架small。二者又是各有千秋诫咱。Altas呢功能強大笙隙,完整,集合了插件化坎缭,動 態(tài)部署竟痰,遠程組件加載于一身签钩,但同時學(xué)習(xí)成本和改造成本也非常的大,而small呢與它的名字一樣坏快,專注于應(yīng)用的插件化改造這一點铅檩,讓他的上手非常的容易,如何選取技術(shù)方案就看大家的需求莽鸿。兩個技術(shù)方案都非常棒昧旨。

? ? 好,說了這么多你對插件化與熱修復(fù)應(yīng)該有吧基本的認識了富拗,趕快學(xué)習(xí)起來吧臼予。

? ? 課程地址:熱修復(fù)與插件化APP的原理及實戰(zhàn)-慕課網(wǎng)實戰(zhàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市啃沪,隨后出現(xiàn)的幾起案子粘拾,更是在濱河造成了極大的恐慌,老刑警劉巖创千,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缰雇,死亡現(xiàn)場離奇詭異,居然都是意外死亡追驴,警方通過查閱死者的電腦和手機械哟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殿雪,“玉大人暇咆,你說我怎么就攤上這事”铮” “怎么了爸业?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長亏镰。 經(jīng)常有香客問我扯旷,道長,這世上最難降的妖魔是什么索抓? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任钧忽,我火速辦了婚禮,結(jié)果婚禮上逼肯,老公的妹妹穿的比我還像新娘耸黑。我一直安慰自己,他們只是感情好汉矿,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布崎坊。 她就那樣靜靜地躺著,像睡著了一般洲拇。 火紅的嫁衣襯著肌膚如雪奈揍。 梳的紋絲不亂的頭發(fā)上曲尸,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音男翰,去河邊找鬼另患。 笑死,一個胖子當(dāng)著我的面吹牛蛾绎,可吹牛的內(nèi)容都是我干的昆箕。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼租冠,長吁一口氣:“原來是場噩夢啊……” “哼鹏倘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起顽爹,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤纤泵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后镜粤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捏题,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年肉渴,在試婚紗的時候發(fā)現(xiàn)自己被綠了公荧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡同规,死狀恐怖循狰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情券勺,我是刑警寧澤晤揣,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站朱灿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏钠四。R本人自食惡果不足惜盗扒,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缀去。 院中可真熱鬧侣灶,春花似錦、人聲如沸缕碎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咏雌。三九已至凡怎,卻和暖如春校焦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背统倒。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工寨典, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人房匆。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓耸成,卻偏偏與公主長得像,于是被迫代替她去往敵國和親浴鸿。 傳聞我的和親對象是個殘疾皇子井氢,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容