android插件話和hotfix

一、爲什麼我們要插件話?

        1. Dalvik虛擬機有方法數限制:Dex 64k method size limit / LinearAlloc exceeded 5MB capacity, App規模變大時會遇到這個問題。(這是由於虛擬機自己的限制)
2. 模塊解耦
3. 動態升級
4. 按需下載

二、概念

1. 插件化-指將一個程序劃分爲不同的部分,比如App皮膚樣式
2. 組件化-指通用及複用性較高的構件,比如圖片緩存可以看成一個組件被多個 App 共用
3. 動態加載

三、技術點

1. dex拆分和插件dex加載
-Android官方解決方案:multidex support library
2. 插件資源訪問
-通過反射,通過調用AssetManager中的addAssetPath方法
3. 插件Activity生命週期
-代理Activity

四、技術原理

ClassLoader[6]
1. 隔離問題
2. Android ClassLoader
-dalvik.system.DexClassLoader
-dalvik.system.PathClassLoader
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章