Systrace 分析之 Whatsapp冷啟動(dòng)差異分析
和你一起終身學(xué)習(xí),這里是程序員Android
本篇文章主要介紹?Android?開(kāi)發(fā)中的部分知識(shí)點(diǎn),通過(guò)閱讀本篇文章,您將收獲以下內(nèi)容:
一、安裝whatsapp app后冷啟動(dòng)一、安裝whatsapp app后冷啟動(dòng)
二、手機(jī)重啟后冷啟動(dòng)whatsapp
三、分析總結(jié)
1.1 高速相機(jī)測(cè)試數(shù)據(jù)
安裝后就登錄賬號(hào)冷啟數(shù)據(jù):
4658 4108 4025 平均值4263
備注:兩次測(cè)試都是保持后臺(tái)清空的
1.2 log中 displayed 的時(shí)間
Line 12770: M1A4089 05-25 13:45:32.359 859 886 I ActivityTaskManager: Displayed com.whatsapp/.HomeActivity: +3s30ms
Line 14453: M1A471C 05-25 13:45:44.821 859 886 I ActivityTaskManager: Displayed com.whatsapp/.HomeActivity: +3s16ms
Line 16598: M1A4F7D 05-25 13:45:59.195 859 886 I ActivityTaskManager: Displayed com.whatsapp/.HomeActivity: +3s78ms
1.3 Systrace 分析截圖
安裝whatsapp app后冷啟動(dòng) 一

安裝whatsapp app后冷啟動(dòng) 二

安裝whatsapp app后冷啟動(dòng) 三
二、手機(jī)重啟后冷啟動(dòng)whatsapp2.1 高速相機(jī)測(cè)試數(shù)據(jù)
安裝后登錄賬號(hào)重啟手機(jī)冷啟數(shù)據(jù):
1458 1383 1258 平均值1366
備注:兩次測(cè)試都是保持后臺(tái)清空的
2.2 log中 displayed 的時(shí)間
Line 14083: M00F3AE 05-25 14:00:16.589 841 868 I ActivityTaskManager: Displayed com.whatsapp/.HomeActivity: +884ms
Line 15850: M00FA7D 05-25 14:00:25.559 841 868 I ActivityTaskManager: Displayed com.whatsapp/.HomeActivity: +852ms
Line 17555: M01011A 05-25 14:00:33.112 841 868 I ActivityTaskManager: Displayed com.whatsapp/.HomeActivity: +864ms
2.3 Systrace 分析截圖
重啟后whatsapp 冷啟動(dòng) 一

重啟后whatsapp 冷啟動(dòng) 二
三、分析總結(jié)通過(guò)對(duì)比 兩種測(cè)試模式下的Systrace 我們可以發(fā)現(xiàn),安裝后冷啟動(dòng) Whatapp 耗時(shí)的主要原因是 apk 內(nèi)部抽取 odex,verify 等方法導(dǎo)致的冷啟動(dòng)耗時(shí),這種情況是因?yàn)閍pk 剛剛安裝,內(nèi)部apk 并沒(méi)有完全抽取出來(lái),apk 方法的抽取會(huì)在系統(tǒng)空閑時(shí)候進(jìn)行或者開(kāi)機(jī)預(yù)加載apk時(shí)候也會(huì)進(jìn)行抽取odex等。
詳細(xì)耗時(shí)請(qǐng)查看如下對(duì)比機(jī)信息:
3.1 app 安裝后 冷啟動(dòng) dex + verify 耗時(shí) 2674ms

app 安裝后 冷啟動(dòng) dex + verify 耗時(shí) 2674ms
3.2 重啟后冷啟app ,odex 已經(jīng)抽取完畢,耗時(shí)549ms

重啟后冷啟app ,odex 已經(jīng)抽取完畢,耗時(shí)549ms
3.3 log 與Systrace 下載地址
鏈接:?https://pan.baidu.com/s/1YHM6Ylj5YSg0iE2WkP3ttQ?
提取碼: rbzd
3.4 后臺(tái)命令抽取odex 方法
adb shell cmd package compile --secondary-dex -r bg-dexopt -f com.whatsapp
或者
adb shell cmd package compile -m speed-profile -f "package name"相關(guān)文章友情推薦?
1. Android開(kāi)發(fā)干貨分享
至此,本篇已結(jié)束,如有不對(duì)的地方,歡迎您的建議與指正。同時(shí)期待您的關(guān)注,感謝您的閱讀,謝謝!
點(diǎn)個(gè)在看,小編工資漲一毛
