影響APP啓動時間的因素有哪些?
前端
一、手機內存狀況,以及APP內存消耗狀況。android
二、手機網絡狀況,以及啓動過程當中有請求後臺接口的,是否有阻塞啓動線程的接口。shell
三、APP的啓動方式影響。 服務器
第一種方式,APP在後臺運行,啓動激活到前端顯示。
微信
第二種方式,APP沒有在後臺運行,徹底從新啓動。網絡
命令:adb shell am start -W packName/ActivityName (啓動頁的Activity),主要的是-W這個選項。
app
(注:能夠經過adb shell dumpsys activity | grep -i run 查看應用包名和啓動Activity)測試
實例:ui
adb shell am start -W com.xxwl.superclean/.ui.SplishActivityspa
返回字段:
C:\Users\herry>adb shell am start -W com.xxwl.superclean/.ui.SplishActivityStarting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.xxwl.superclean/.ui.SplishActivity }Warning: Activity not started, its current task has been brought to the frontStatus: okActivity: com.xxwl.superclean/.ui.MainActivityThisTime: 67TotalTime: 67WaitTime: 75Complete
ThisTime: 該Activity的啓動耗時;
TotalTime: 應用自身啓動耗時, ThisTime+應用application等資源啓動時間;
WaitTime: 系統啓動應用耗時, TotalTime+系統資源啓動時間。
應用application等資源啓動時間:主要是網絡耗時,服務器資源請求等
系統資源啓動時間:手機當時的運行情況和APP所須要的資源相關(好比,佔用內存狀況、讀寫日誌等。)
注意:應用從後臺啓動和從新啓動的時間是不同的,若是你要測試從新啓動的時間,須要將後臺進程殺掉,在調用命令。
這裏提供兩種方式結束進程:
一、adb shell am force-stop com.xxwl.superclean
-----force-stop:結束應用,但不清楚數據,可模擬屢次啓動的狀況
二、adb shell pm clear com.xxwl.superclean
---pm clear:結束應用,並清除數據,可用於模擬應用第一次啓動的
本文分享自微信公衆號 - 軟件測試道與術(UTesting)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。