元件化開發,外掛程式化開發和熱修復

2021-08-02 04:18:45 字數 964 閱讀 7206

外掛程式化開發和熱修復

所以外掛程式化比熱修復簡單,熱修復是在外掛程式化的基礎上在進行替舊的bug類

android元件化和外掛程式化開發

外掛程式化是在[執行時],而元件化是在[編譯時]。換句話說,外掛程式化是基於多 apk 的,而元件化本質上還是只有乙個 apk。

droidplugin

small

virtualapk

replugin

從個人感覺來說,如果工程量不大,又對多程序沒有太多的想法的工程完全可以優先使用small。而如果整個工程量大,以後又可能使用多程序,追求穩定的大型專案還是推薦replugin

阿里開源的熱修復框架

andfix熱修復框架位址

android中有兩個類載入器,分別為pathclassloaderdexclassloaderpathclassloader

系統類和應用類的載入器

dexclassloader:能夠載入未安裝的jar/apk/dex 

原理方案

native hook方案,方法替換instant run的熱插拔原理,native層造成的問題就是相容性問題

andfix

qq空間提出的classloader替換類的方案

nuwa, hotfix, rocoofix

instant run的冷插拔原理的dex替換,dexclassloader,吧舊的dex和補丁dex融合形成新的dex,確定需要重啟

tinker

multidex

分包原理

python外掛程式化開發

動態匯入 執行時,根據使用者需求 提供字串 找到模組的資源動態載入起來。sys import sys 等價於import sys 在 xyz.py class a def show self0 print 123 在 主程式模組 if name main mod import xyz cls get...

Python 外掛程式化開發

執行時,根據使用者需求 提供字串 找到模組的資源動態載入起來 import name,globals none,locals none,fromlist level 0 importlib.import module name,package none t8.py classa defshowme ...

Python 外掛程式化開發

1 動態匯入 執行時,根據使用者需求 提供字串 找到模組的資源動態載入起來。2 內建函式 import def import name,globals none,locals none,fromlist level 0 name 模組名 import語句本質上就是呼叫這個函式,但是不鼓勵直接使用它,...