Android熱更新

一.什麼是熱更新

熱更新是衆多App常用的更新方式。簡單來說,就是在用戶通下載安裝APP之後,打開App時遇到的即時更新。

二.工作原理

熱更新就是動態下發代碼,它可以使開發者在不發佈新版本的情況下,修復 BUG 和發佈功能,讓開發者得以繞開應用市場的審覈機制,避免長時間的審覈等待以及多次被拒造成的成本。

**Android中如何動態修復bug

bug一般是一個或多個class出現了問題,在一個理想的狀態下,我們只需將修復好的這些個class更新到用戶手機上的app中就可以修復這些bug了。那要怎麼才能動態更新這些class呢?其實,不管是哪種熱修復方案,肯定都是如下這幾個步驟:

    1.下發補丁(內含修復好的class)到用戶手機,即讓app從服務器上下載(網絡傳輸)
    app通過"某種方式",使補丁中的class被app調用(本地更新)

   2. 這裏的"某種方式",就是使用Android的類加載器,通過類加載器加載這些修復好的class,覆蓋對應有問題的class,理論上就能修復bug了。

 

三.Android中的類加載器

Android是基於Java的,基於jvm的java應用是通過ClassLoader來加載應用中的class的,我們知道Android對jvm優化過,使用的是dalvik,且class文件會被打包進一個dex文件中,底層虛擬機有所不同,那麼它們的類加載器當然也是會有所區別,在Android中,要加載dex文件中的class文件就需要用到 PathClassLoader 或 DexClassLoader 這兩個Android專用的類加載器
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章