Android 测量应用程序/活动启动时间的最佳方法是什么?

Android 测量应用程序/活动启动时间的最佳方法是什么?,android,startup,Android,Startup,在谷歌搜索了这个话题后,我知道有几种方法可以衡量android应用程序的启动时间 adb logcat-b事件| grep am活动|启动|时间,参见 adb logcat-s活动管理器:显示I| grep 以编程方式使用reportFullyDrawn adb shell屏幕记录——bugreport/sdcard/launch.mp4,要逐帧检查视频,请参阅 adb外壳am启动-带packagename/Main活动以检查输出 adb logcat-s时间线:I,检查输出中可见的“应用程序转

在谷歌搜索了这个话题后,我知道有几种方法可以衡量android应用程序的启动时间

  • adb logcat-b事件| grep am活动|启动|时间,参见
  • adb logcat-s活动管理器:显示I| grep
  • 以编程方式使用reportFullyDrawn
  • adb shell屏幕记录——bugreport/sdcard/launch.mp4,要逐帧检查视频,请参阅
  • adb外壳am启动-带packagename/Main活动以检查输出
  • adb logcat-s时间线:I,检查输出中可见的“应用程序转换就绪”和活动窗口

  • 衡量Android应用程序启动时间最精确的方法是什么?它们之间的区别是什么?

    这是来自Android官方文档的

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

  • 启动流程
  • 初始化对象
  • 创建并初始化活动
  • 使布局膨胀
  • 第一次画出你的申请表
  • 日志行看起来像这样

    ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms
    
    为了使其正常工作,请在android studio的logcat视图中禁用过滤器,因为服务此日志的是系统服务器,而不是应用程序本身


    有关不同方法的详细说明,请查看此官方文档。

    这是来自Android官方文档的

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

  • 启动流程
  • 初始化对象
  • 创建并初始化活动
  • 使布局膨胀
  • 第一次画出你的申请表
  • 日志行看起来像这样

    ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms
    
    为了使其正常工作,请在android studio的logcat视图中禁用过滤器,因为服务此日志的是系统服务器,而不是应用程序本身

    有关不同方法的进一步说明,请查看该官员