響應時間:
APP啟動:首次安裝啟動,冷啟動,熱啟動,暖啟動,啟動時間
App互動:事件響應,內部加載速度,首屏渲染
暖啟動:當應用中的 Activities 被銷毀,但在內存中常駐時,應用的啟動方式就會變為暖啟動。相比冷啟動,暖啟動過程減少了對象初始化、布局加載等工作,啟動時間更短。但啟動時,系統依然會展示一個空白背景,直到第一個 Activity 的內容呈現為止
冷啟動:當啟動應用時,后台沒有該應用的進程,這時系統會重新創建一個新的進程分配給該應用,這個啟動方式就是冷啟動。(開始加載並啟動應用;1應用啟動后,2顯示一個空白的啟動窗口;3創建應用進程信息;
)
熱啟動:當啟動應用時,后台已有該應用的進程(例:按back鍵、home鍵,應用雖然會退出,但是該應用的進程是依然會保留在后台,可進入任務列表查看),所以在已有進程的情況下,這種啟動會從已有的進程中來啟動應用,這個方式叫熱啟動。
啟動時間:從點擊應用的啟動圖標開始創建出一個新的進程直到我們看到了界面的第一幀,這段時間就是應用的啟動時間。
我們要測量的也就是這段時間,測量這段時間可以通過adb shell命令的方式進行測量,這種方法測量的最為精確,
獲取包名+activity:adb shell dumpsys window | findstr mCurrentFocus
————————————————
1)打開APP。
2)執行> adb logcat>D:/log.txt
3)胡亂的對APP做一些操作。
4) Ctrl+c 結束adb命令。
5)打開log.txt文件,搜索:Displayed
appPackage: com.android.messaging
appActivity:.ui.conversationlist.ConversationListActivity
6) realActivity=com.android.deskclock/.DeskClock
———————————————— adb shell am start -W [packageName]/[packageName.MainActivity]
執行該命令返回三個測量到的時間:
1、ThisTime:一般和TotalTime時間一樣,除非在應用啟動時開了一個透明的Activity預先處理一些事再顯示出主Activity,這樣將比TotalTime小。
2、TotalTime:應用的啟動時間,包括創建進程+Application初始化+Activity初始化到界面顯示。
3、WaitTime:一般比TotalTime大點,包括系統影響的耗時。
搬運工僅供參考。后續待補充。