1. 程式人生 > >簡單的檢視APP啟動時間

簡單的檢視APP啟動時間

先看看 測量的時機,下圖很清晰的說明了APP啟動測量時間:

這裡寫圖片描述

  • Displayed Time
  • reportFullyDrawn()

1. Displayed Time

啟動載入程式碼、初始化工作,從啟動程序到第一次繪製完成所消耗的時間

直接看 Log 進行檢視,可以看到啟動到 MainActivity 使用的時間;

這裡寫圖片描述

2. reportFullyDrawn

如果有非同步載入的內容的話,在上面的Displayed Time 執行後非同步載入的內容執行完畢的時間;

需要在程式碼中進行手動呼叫,比如:

@Override
    protected void
onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); try{ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // > android 4.4 reportFullyDrawn(); } }catch(SecurityException e){ } }

Logcat 檢視 :

這裡寫圖片描述

沒有非同步載入,可能兩個時間是一樣的。

3. ADB 檢視

執行下面命令:

adb [-d|-e|-s <serialNumber>] shell am start -S -W
com.example.app/.MainActivity
-c android.intent.category.LAUNCHER
-a android.intent.action.MAIN

終端會列印下面內容:

Starting: Intent
Activity: com.example.app/.MainActivity
ThisTime: 2044
TotalTime
: 2044 WaitTime: 2054 Complete