Android app啓動時間測試

對於app的性能測試,啓動時間是個重要指標,啓動時間分爲兩種情況,一種是冷啓動時間(通常是系統重啓,即在啓動前沒有該app進程的情況),另一種是熱啓動,即app從被切換到前臺(點back退出後再點擊圖標啓動)。

從Android4.4(API 19)開始,可以從logcat獲取activity的啓動信息,如下我用應用寶做實驗,可以看到如下的輸出,從這裏我們可以看到應用的這個activity啓動用了639ms。

這裏寫圖片描述

這個log信息會在activity首次被繪製時輸出,也就是如果activity棧裏有這個activity,再啓動不會輸出該信息,典型的場景是通過recent task列表切換到其他activity再立即切換回來時。

log中的時間包括系統從開始處理啓動activity的時間到完成運行layout和draw函數的時間,不包括點擊icon到系統接收到消息的時間。顯然,這個時間也不包括啓動中異步UI繪製的時間。但是我們在測試中關注的其實是用戶體驗的啓動時間,那麼上面log中的時間就不能滿足我們的需求了。

不過還好,既然是用戶體驗我們可以用更直觀的方式,使用screenrecord進行屏幕錄製然後分析視頻。使用如下命令錄製視頻。

這裏寫圖片描述

–bugreport參數會使視頻輸出一些時間信息和幀信息便於我們分析啓動時間。
activity啓動後,使用ctrl+c結束視頻錄製,使用
這裏寫圖片描述

導出視頻到電腦,使用可以按幀播放的視頻軟件打開(mac上quicktime就可以,win下可以用kmplayer),並按幀播放。

按幀播放視頻,視頻左上角會顯示每一幀的時間(精確到ms)和幀數。在視頻中會看到icon會變暗然後高亮,高亮時就是系統開始處理本次icon點擊事件了。可以把這裏作爲點擊時間,然後根據體驗要求,看到app啓動頁完全繪製完作爲終止時間,這個時間減去點擊時間就是app的啓動時間。

在進行app啓動時間測試時,系統中運行的其他app會對啓動時間有干擾,如果需要進行版本對比及競品對比,最好要儘量保持環境一致,並反覆執行多次取平均值。最後,不要忘了分別測試冷啓動和熱啓動哦~

轉載:http://www.testwo.com/article/598

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章