响应时间:

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大点,包括系统影响的耗时。

搬运工仅供参考。后续待补充。