在Android開發里,總有這些讓你感覺既熟悉又陌生的技術

像程序那樣思考 發佈 2020-02-12T13:41:49+00:00

近期疫情蔓延,現在大家一聽「宿主」就感覺瘮得慌吧,沒錯,我們就是病毒可能的宿主,但是在移動開發領域,有一個「宿主」是我們經常會提及的,那就是支持插件的app主體。

近期疫情蔓延,現在大家一聽「宿主」就感覺瘮得慌吧,沒錯,我們就是病毒可能的宿主,但是在移動開發領域,有一個「宿主」是我們經常會提及的,那就是支持插件的app主體。

隨著Android的發展,國內一線企業的項目模塊越來越多,用戶體驗要求也越來越高,想實現小步快跑、快速疊代的目的越來越難,還有65535,應用之間的互相調用等等問題,從而催生了插件化技術的產生。

2012年插件化概念被提出,到2016年的時候,插件化技術百家爭鳴,被一線大廠廣泛使用。插件化技術幾乎引領了Android技術的進步!

近些年,一線網際網路大廠幾乎對移動網際網路形成了壟斷,app的功能越來越多,比如下面這些app(美團、支付寶等):

每個app都集成了許多功能入口,美團上有「美食」、「電影」、「外賣」、「打車」等,每個入口其實都是一個app,只不過被集成到這些入口裡了。如果沒有插件化技術,美團、淘寶這些app會有多大?幾個G都有可能!

這些大型app是如何把第三方app作為插件集成到自己的app里的?

隨便一個app就能隨意調用其他app嗎?

當然不能!

插件化技術最初源於免安裝運行apk的想法,這個免安裝的apk可以理解為插件,而支持插件的app 我們一般叫宿主。支持插件化的app可以在運行時加載和運行插件,這樣便可以將app中一些功能獨立的模塊寫成獨立的插件,一方面減小了安裝包的大小,另一方面可以實現app功能的動態擴展。想要實現插件化,主要是解決下面三個問題:

1、插件中代碼的加載和與主工程的互相調用

2、插件中資源的加載和與主工程的互相訪問

3、四大組件生命周期的管理

插件化技術涉及得非常廣泛,其中最核心的就是Android的類加載機制和反射機制。

雖然現在很多公司開源了插件化框架,但還有非常多的開發者對插件化一知半解。

在這我也分享一份自己收錄整理的Android學習PDF+架構視頻+面試文檔+源碼筆記,還有高級架構技術進階腦圖、Android開發面試專題資料,高級進階架構資料這些都是我閒暇還會反覆翻閱的精品資料。在腦圖中,每個知識點專題都配有相對應的實戰項目,可以有效的幫助大家掌握知識點。

總之也是在這裡幫助大家學習提升進階,也節省大家在網上搜索資料的時間來學習,也可以分享給身邊好友一起學習

如果你有需要的話,可以點讚+評論+轉發關注我,然後私信我【進階】我發給你

關鍵字: