2017-03-04 32 views
-2

經過Google搜索這個主題後,我知道有幾種方法可以衡量Android應用程序的啓動時間。衡量應用/活動啓動時間的最佳方式是什麼?

  1. adb logcat -b events | grep am_activity_launch_time,請參見this post
  2. adb logcat -s ActivityManager:I | grep的顯示
  3. 使用reportFullyDrawn編程
  4. 亞行殼screenrecord --bugreport /sdcard/launch.mp4,逐幀檢查視頻幀,看this post
  5. 亞行外殼上午開始-w包名/ MainActivity檢查輸出
  6. adb logcat -s時間軸:我在輸出中籤出「App_transition_ready」和Activity_windows_visible。

什麼是測量Android應用程序啓動時間的最精確的方法?他們之間有什麼不同?

回答

1

這是從官方Android文檔

從API 19日起,logcat的包括含有稱爲顯示值的輸出線。此值表示啓動過程和完成在屏幕上繪製相應活動之間所經過的時間量。經過時間包括事件的順序如下:

  1. 啓動過程
  2. 初始化的對象。
  3. 創建並初始化活動。
  4. 膨脹佈局。
  5. 第一次繪製您的應用程序。

日誌行看起來像這樣

ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms 

爲了這個工作在logcat的觀點禁用過濾器在Android Studio中因爲系統服務器,而不是應用程序本身,服務於這個日誌。

請查看官方link瞭解有關不同方法的更多解釋。

相關問題