實(shí)測(cè)看看阿里移動(dòng)熱修復(fù)的能力如何

測(cè)試阿里移動(dòng)熱修復(fù)框架3.0.2的修復(fù)能力以及穩(wěn)定性。

要點(diǎn)總結(jié)

1.如手機(jī)上已安裝一個(gè)客戶端并使用熱修復(fù)補(bǔ)丁進(jìn)行修復(fù),再選擇相同版本號(hào)的apk覆蓋安裝,那么熱修復(fù)補(bǔ)丁不會(huì)被覆蓋,會(huì)引起異常。這種情況通常出現(xiàn)在測(cè)試階段,為測(cè)試結(jié)果不被干擾,務(wù)必先卸載已安裝的客戶端再安裝apk。升級(jí)到版本號(hào)高的客戶端不會(huì)有異常。
2.熱啟動(dòng)修復(fù)測(cè)試,支持修改無(wú)參數(shù)方法和有參方法(參數(shù)中有String、int、boolean基本類(lèi)型測(cè)試通過(guò)),支持修改帶返回值的方法。
3.冷修復(fù)測(cè)試通過(guò):新增Field、修改Field值、修改Field類(lèi)型、刪除Field。
新增類(lèi)測(cè)試通過(guò)。
4.資源修復(fù)測(cè)試時(shí),不能修改strings.xml(因打包工具異常影響,此問(wèn)題待確認(rèn))。
5.測(cè)試修復(fù)資源時(shí)遇到打補(bǔ)丁工具錯(cuò)誤提示,工具版本3.0.0日志顯示版本2.0.0,無(wú)法生成補(bǔ)丁,相同apk包在mac下可成功打補(bǔ)丁。
6.Activity、Fragment中修改方法、調(diào)用API、修改View隱藏等測(cè)試通過(guò)。
7.Broadcast Reciver動(dòng)態(tài)注冊(cè),修復(fù)傳參、onRecive成功,靜態(tài)注冊(cè)修復(fù)成功,冷啟動(dòng)。

實(shí)測(cè)用例

FoZRTYX3ilLPAeQfaR9L6OAIXk-V.png

熱修復(fù)打包工具存在不穩(wěn)定的問(wèn)題,可能影響修復(fù)時(shí)打補(bǔ)丁包的進(jìn)度,此問(wèn)題已與官方反饋。當(dāng)遇到問(wèn)題時(shí),可嘗試使用其它的平臺(tái)打包工具。
此熱修復(fù)框架具有較高的修復(fù)能力,對(duì)四大組件,方法和類(lèi)的增改都有修復(fù)的能力。滿足一般改bug時(shí)的需要。

性能影響

阿里移動(dòng)熱修復(fù)基于方法修復(fù)的原理,在尋找方法指針時(shí)會(huì)增加一定性能開(kāi)銷(xiāo)。
針對(duì)同一個(gè)復(fù)雜頁(yè)面,在集成阿里移動(dòng)熱修復(fù)前后的性能開(kāi)銷(xiāo)差異見(jiàn)下圖。

附圖1普通性能負(fù)載情況:

圖2集成熱修復(fù)后性能負(fù)載情況:

從截圖可以看出,在集成熱修復(fù)之前開(kāi)啟頁(yè)面就已達(dá)到較高的CPU占用率,但高占用率的時(shí)間持續(xù)較短,因此只是偶有卡斷的現(xiàn)象。集成熱修復(fù)后,CPU高負(fù)載時(shí)間變長(zhǎng),卡頓增多。解決此問(wèn)題唯有對(duì)復(fù)雜頁(yè)面進(jìn)行重構(gòu),性能調(diào)優(yōu)。

官方傳送

移動(dòng)熱修復(fù)產(chǎn)品文檔:
https://help.aliyun.com/product/51340.html
demo、sdk、打包工具、測(cè)試工具下載:
https://help.aliyun.com/document_detail/53239.html?spm=5176.product51340.6.550.7ssVy1
管理控制臺(tái):
https://hotfix.console.aliyun.com/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容