衡量应用/活动启动时间的最佳方法是什么?

时间:2017-03-04 07:36:05

标签: android startup

使用Google搜索这个主题后,我知道有几种方法可以衡量Android应用的启动时间。

  1. adb logcat -b events | grep am_activity_launch_time,请参阅this post
  2. adb logcat -s ActivityManager:I | grep显示
  3. 以编程方式使用reportFullyDrawn
  4. adb shell screenrecord --bugreport /sdcard/launch.mp4,要逐帧检查视频,请参阅this post
  5. adb shell am start -w packagename / MainActivity检查输出
  6. adb logcat -s时间轴:我,结帐" App_transition_ready"和输出中的Activity_windows_visible。
  7. 衡量Android应用启动时间的最精确方法是什么?他们之间有什么不同?

1 个答案:

答案 0 :(得分:1)

这是来自官方Android文档

从API 19开始,logcat包含一个包含名为Displayed的值的输出行。此值表示启动过程和完成在屏幕上绘制相应活动之间所经过的时间量。经过的时间包括以下事件序列:

  1. 启动流程
  2. 初始化对象。
  3. 创建并初始化活动。
  4. 夸大布局。
  5. 首次绘制您的应用程序。
  6. 日志行看起来像这样

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

    为了使其工作在android studio 的logcat视图中禁用过滤器,因为系统服务器而不是应用程序本身为此日志提供服务。

    查看此官方link,了解有关不同方法的进一步说明。