在啟動流程中任何一個地方有耗時操作都會拖慢應(yīng)用的啟動速度,但是應(yīng)用的啟動時間是用毫秒來度量的,對于毫秒級別的時間度量我們還是需要去精確的測量應(yīng)用啟動花費了多少的時間,并根據(jù)這個時間來做衡量。
從點擊應(yīng)用的啟動圖標(biāo)開始創(chuàng)建出一個進(jìn)程到我們看到界面的第一幀,即為應(yīng)用的啟動時間。
測量這段時間有多長可以通過adb shell命令來進(jìn)行測量,這種方法測量的最為精確。其命令為:
adb shell am start -W [packageName]/[packageName.MainActivity]
執(zhí)行成功后將返回三個測量到的時間:
ThisTime:一般和TotalTime時間一樣,除非在應(yīng)用啟動時開了一個透明的Activity預(yù)先處理一些事,再顯示出Activity,這樣將比TotalTime小。
TotalTime:應(yīng)用的啟動時間,包括創(chuàng)建進(jìn)程+Application初始化+Activity初始化到界面顯示。
WaitTime:一般比TotalTime大點,包括系統(tǒng)響應(yīng)的耗時。