首頁>科技>

宿主,如果看過異形的話會覺得有點瘮人,但是在移動開發領域,有一個“宿主”是我們經常會提及的,那就是支援外掛的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資深專家的《外掛化技術》系列直播課,讓我快速對外掛化有了深入的理解。

如何載入外掛的類?如何啟動另一個外掛的Activity?如何載入外掛的資源?

《深入理解360外掛化技術核心》內容介紹;

大家感興趣的可自行上騰訊課堂搜,這節課程只要99元。(不想花錢的,可以在我這薅羊毛。)

不吹不黑,思路很棒,能把高深的技術簡單化講清楚確實很不錯了。並且視訊與原始碼我都有下載儲存了。

《深入理解360外掛化技術核心》系列,一節視訊兩個小時左右,一共是三節,我大概梳理了一下技術內容為以下;

第一節;什麼是外掛化,如何載入外掛的類?

1.什麼是外掛化2.什麼是雙親委託機制3.如何實現外掛類的載入

第二節;如何啟動另一個外掛的Activity?

1.Hook是什麼?2.Activity的啟動流程原始碼分析3.啟動未註冊Activity的思路分析4.擼碼實現外掛的Activity的啟動

第三節;如何載入外掛的資源?

1.Resources和AssetManager的關係

2.資源載入流程的原始碼分析

3.擼碼實現外掛的資源載入

4.常見面試題的講解

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 區塊鏈大爆發,別說您還不知道什麼是區塊鏈