
緣起
隨著Android行業的不斷發展,熱修復應運而生,而后百花齊放,國內外各大廠都相繼退出來自己的熱修復框架,使用的技術方案也各有特點,對應的各種方案之中也存在各自的局限性,
本文旨在通過對當下主流的熱修復框架的梳理、對比,讓大家更全面、深入的理解各熱修復框架的原理、、本質、優劣,讓你在升職跳槽的時候,更輕松的上手不同業務公司的熱修復框架,
熱修復優勢
簡單概括一下熱修復技術的優勢,大致分為以下三點
- 優化用戶體驗,基本無感知程式例外修復的同時,節省了用戶下載安裝的成本
- 快速修復線上運行時出現的bug,即避免了bug帶來的業務損失,又優化了用戶體驗
- 保證客戶端的更新率,無須用戶進行版本升級安裝
國內主流熱修復框架
1.阿里系

HotFix是AndFix的優化版本,Sophix是HotFix的優化版本,目前阿里系主推是Sophix,
2.騰訊系

3.其他系

目前的熱修復現狀,Sophix,Tinker,Robust是很多小公司的首選的三個熱修復方案,
接入成本最高的是Tinker和Robust(沒有官方服務端),在只修復java代碼的情況下,同時追求修復成功率(不考慮增加包體積),那肯定選擇的是Robust,
在需要資源修復和so庫修復的情況下,免費的情況下考慮Tinker和Sophix的免費閾值,這個和App的月活和補丁包大小有關系,免費方面Sophix更有利,收費的話各有利弊,詳情可以參考這篇文章,不過最新的免費、收費標準可能有變化,最侄訓是得去官網看看,但是可以參考它的分析思路,
三大框架優缺點對比
| 方案對比 | Tinker | Sophix | Robust |
|---|---|---|---|
| 類替換 | 支持 | 支持 | 不支持(插樁方案原理) |
| So替換 | 支持 | 支持 | 不支持 |
| 資源替換 | 支持 | 支持 | 不支持 |
| 全平臺支持 | 支持 | 支持 | 支持 |
| 即時生效 | 不支持 | 支持 | 支持 |
| 性能損耗 | 較大 | 較小 | 較小 |
| 補丁包大小 | 較小 | 一般 | 一般 |
| 開發透明 | 是 | 是 | 否 |
| 接入復雜度 | 較高 | 較低 | 較高,目前沒有官方服務端的支持 |
怎么選?
怎么選?這個只能說一切看需求,如果公司綜合實力強,完全考慮自研都沒問題,但需要綜合考慮成本及維護,下面給出2點建議,如下:
1、專案需求
- 只需要簡單的方法級別Bug修復?
- 需要資源及so庫的修復?
- 對平臺兼容性要求及成功率要求?
- 有需求對分發進行控制,對監控資料進行統計,補丁包進行管理?
- 公司資源是否支持商業付費?
2、學習及使用成本
- 集成難度
- 代碼侵入性
- 除錯維護
3、選擇大廠
- 技術性能有保障
- 有專人維護
- 熱度高,開源社區活躍
如果考慮付費,推薦選擇阿里的Sophix,Sophix是綜合優化的產物,功能完善、開發簡單透明、提供分發及監控管理,
如果不考慮付費,只需支持方法級別的Bug修復,不支持資源及so,推薦使用Robust,
如果考慮需要同時支持資源及so,推薦使用Tinker,
最后如果公司綜合實力強,可考慮自研,靈活性及可控制最強,
怎么學?
在資訊大爆炸的時代,我們想要學習、掌握某一熱修復技術確實非常容易,但是同理,互聯網中大量的資訊使得我們在網上需要我們所需資料時難以分辨優劣、精準的獲取我們所需的資料,
此時,一份完整系統的資料就顯得尤為重要
《Android 熱修復框架入門進階指南》
點這里即可免費下載獲取
由于檔案內容過多,為了避免影響到大家的閱讀體驗,在此只以截圖展示部分內容,詳細完整版【Android 熱修復框架入門進階指南】檔案領取快速入手通道:點這里百度網盤下載!誠意滿滿!!!
目錄

部分截圖


【Android 熱修復框架入門進階指南】快速入手通道:點這里百度網盤免費下載!誠意滿滿!!!
Android高級面試精選題、架構師進階實戰檔案傳送門:我的GitHub
整理不易,覺得有幫助的朋友可以幫忙點贊分享支持一下小編~
你的支持,我的動力;祝各位前程似錦,offer不斷!!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/242356.html
標籤:其他
