熱修復的基本概念
什麼是熱修復:通過補丁動態的修復,或者更新 app 的行爲
熱修復有哪些好處:如果線上的 app 出現bub,或者需要修改,就可以使用熱修復。可以再用戶無感知的情況下修復 app 。
有了熱修復就高枕無憂了嗎:這只是一個亡羊補牢的手段,不到萬不得已,就不要使用,而且熱修復還有一定的兼容問題。
比較流行的熱修復技術
QQ控件的超級補丁方案
微信的 Tinker
騰訊的 Bugly,基於 Tinker,使用比較簡單
阿里的 Sophix,dexposed
美團的 Robust,餓了麼的 migo ,百度的 hotifx
技術對比
Tinker | QZone | AndFix | Robust | |
---|---|---|---|---|
類替換 | yes | yes | no | no |
So 替換 | yes | no | no | no |
資源替換 | yes | yes | no | no |
全平臺支持 | yes | yes | yes | yes |
即時生效 | no | no | yes | yes |
性能損耗 | 較小 | 較大 | 較小 | 較小 |
補丁包大小 | 較小 | 較大 | 一般 | 一般 |
開發透明 | yes | yes | no | no |
複雜度 | 較低 | 較低 | 複雜 | 複雜 |
gradle 支持 | yes | no | no | no |
Rom 體積 | 較大 | 較小 | 較小 | 較小 |
成功率 | 較高 | 較高 | 一般 | 最高 |
全平臺指的是 android 的各個版本
方案對比及技術選型
-
我們的需求是什麼,需求是衡量一切的標準
-
能滿足需求的條件下,那個學習成本低
學習成本低就意味着使用簡單,調試簡單,維護簡單
-
學習成本一樣的情況下,優先選擇大公司的方案
參考:慕課網視頻