前言
隨著互聯網公司業務的發展,公司專案的增多,但是開發源又是有限的,如何在有限的開發源中滿足更多專案的需求,成為了各個大廠比較重視的問題,此時,插件化技術正好風生水起,所以各公司都開始物色有這方面技術的人才,

插件化的功能及優勢:
現在美團,支付寶里面都有很多很多功能, “美食,電影,購物,打車,旅游”等,這都是實作插件化的好處,如果沒有這些插件化,那這些app會有多大,我們用戶手機里面得下載多少個app?舉個例子,本來下載一個app可以實作好幾個功能的運用,如果沒有插件化這個技術,那我們就需要下載好幾個app來滿足我們的需求,但是每個手機的記憶體又是有限制的,如果下載的東西過多,會導致運行卡頓,帶來極差的體驗感,
插件化能給我們業務上帶來的幫助:
-
APP因為業務的頻繁變更而頻繁升級客戶端,會造成較差的用戶體驗,插件化可以做到動態升級,不需要更新整個客戶端
-
APP往往需要集成許多的功能,插件化可以使模塊解藕
-
并行開發,提高開發效率
-
插件化突破最大方法數的限制
-
插件化做到了按需加載,提高了記憶體的使用效率
-
節省了升級流量,
-
插件化可以讓一個app的功能模塊化,
-
插件化可以并行高效開發、模塊解耦、有利于后期的維護,
對于Android開發者而言,插件化技術已經是進階Android高級工程師的必備技能之一,
我這里有一份【高級Android插件化強化實戰】資料,希望能幫到大家!

主要內容分成四大模塊:
第一章:插件化技術的前世今生
第二章:插件化原理
第三章:Android插件化初探
第四章:架構演化(大長篇)
第一章:插件化技術的前世今生
1. 插件化提要
2. 插件化發展歷史

第二章:插件化原理
1. 類加載
2. 雙親委托機制
3. 資源加載
4. 四大組件支持
5. ProxyActivity代理
6. hook方式
7. 其他組件 …

第三章:Android插件化初探
1. 從零開始實作一個插件化框架(上)
-
概念
-
插件化解決的問題
-
各插件化框架對比
-
插件化實作
-
ClassLoader實作類

2. 從零開始實作一個插件化框架(中)
-
Activity的啟動流程
-
尋找Hook點
-
擼碼階段
-
代理物件
-
偷天換日,替換原來的Intent
-
ActivityThread
-
將代理的intent替換回來 …

3.從零開始實作一個插件化框架(下)
-
插件資源加載
-
Android中資源加載流程
-
ActivityManager
-
ActivityThread
-
AppCompatActivity
-
總結

第四章:架構演化(大廠篇)
1. 360插件開發之DroidPlugin
DroidPlugin是360手機助手在Android系統上實作了一種新的插件機制,它可以在無需安裝、修改的情況下運行APK檔案,此機制對改進大型APP的架構,實作多團隊協作開發具有一定的好處,

2.滴滴VirtualApk實戰
VirtualAPK是滴滴在2017年6月開源的一款插件化框架,支持Android四大組件,以及幾乎所有的Android特性,通過Gradle來構建插件,集成與構建十分便捷,目前已經應用在 滴滴出行 App上,兼容市面上幾乎所有的Android設備,

3.愛奇藝插件化原理分析之 Neptune框架
Neptune是愛奇藝移動端研發的一套靈活,穩定,輕量級的插件化解決方案,經過不斷的研發,迭代和線上驗證,目前已經完全適配了Android P,能夠在數億的設備上動態加載和運行插件APK,為愛奇藝眾多的垂直業務團隊提供了穩定的服務,

4. 360開源全面插件化框架RePlugin 實戰
RePlugin 是一套完整的、穩定的、適合全面使用的,占坑類插件化方案,由360手機衛士的RePlugin Team研發,也是業內首個提出”全面插件化“(全面特性、全面兼容、全面使用)的方案,

5.騰訊插件化框架 Shadow專案決議
Shadow是一個騰訊自主研發的Android插件框架,經過線上億級用戶量檢驗,Shadow不僅開源分享了插件技術的關鍵代碼,還完整的分享了上線部署所需要的所有設計,更是具有復用獨立安裝App的原始碼、零反射無Hack實作插件技術、全動態插件框架、宿主增量極小、Kotlin支持等特點,

由于篇幅有限,朋友們如果需要完整版《高級Android插件化強化實戰》,vx掃描二維碼領取哦!

最后
插件化技術對于一個進階Android高級工程師的必備技能之一,一個好的工程師,他不僅要懂得原理,還得去學習把技術運用到實踐中去,這是一個優秀的程式員所必須具備的,如果我的這篇文章能幫助到你的話,那就多多支持一下我,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/384317.html
標籤:其他
