測試阿里移動熱修復框架3.0.2的修復能力以及穩(wěn)定性芯丧。
要點總結(jié)
1.如手機上已安裝一個客戶端并使用熱修復補丁進行修復,再選擇相同版本號的apk覆蓋安裝叫编,那么熱修復補丁不會被覆蓋辖佣,會引起異常。這種情況通常出現(xiàn)在測試階段搓逾,為測試結(jié)果不被干擾卷谈,務必先卸載已安裝的客戶端再安裝apk。升級到版本號高的客戶端不會有異常霞篡。
2.熱啟動修復測試世蔗,支持修改無參數(shù)方法和有參方法(參數(shù)中有String端逼、int、boolean基本類型測試通過)污淋,支持修改帶返回值的方法顶滩。
3.冷修復測試通過:新增Field、修改Field值寸爆、修改Field類型礁鲁、刪除Field。
新增類測試通過赁豆。
4.資源修復測試時仅醇,不能修改strings.xml(因打包工具異常影響,此問題待確認)魔种。
5.測試修復資源時遇到打補丁工具錯誤提示析二,工具版本3.0.0日志顯示版本2.0.0,無法生成補丁节预,相同apk包在mac下可成功打補丁叶摄。
6.Activity、Fragment中修改方法心铃、調(diào)用API准谚、修改View隱藏等測試通過。
7.Broadcast Reciver動態(tài)注冊去扣,修復傳參柱衔、onRecive成功,靜態(tài)注冊修復成功愉棱,冷啟動唆铐。
實測用例
熱修復打包工具存在不穩(wěn)定的問題,可能影響修復時打補丁包的進度奔滑,此問題已與官方反饋艾岂。當遇到問題時,可嘗試使用其它的平臺打包工具朋其。
此熱修復框架具有較高的修復能力王浴,對四大組件,方法和類的增改都有修復的能力梅猿。滿足一般改bug時的需要氓辣。
性能影響
阿里移動熱修復基于方法修復的原理,在尋找方法指針時會增加一定性能開銷袱蚓。
針對同一個復雜頁面钞啸,在集成阿里移動熱修復前后的性能開銷差異見下圖。
從截圖可以看出,在集成熱修復之前開啟頁面就已達到較高的CPU占用率体斩,但高占用率的時間持續(xù)較短梭稚,因此只是偶有卡斷的現(xiàn)象。集成熱修復后絮吵,CPU高負載時間變長弧烤,卡頓增多。解決此問題唯有對復雜頁面進行重構(gòu)蹬敲,性能調(diào)優(yōu)扼褪。
官方傳送
移動熱修復產(chǎn)品文檔:
https://help.aliyun.com/product/51340.html
demo、sdk粱栖、打包工具、測試工具下載:
https://help.aliyun.com/document_detail/53239.html?spm=5176.product51340.6.550.7ssVy1
管理控制臺:
https://hotfix.console.aliyun.com/