Android应用或界面时间测量:

官方介绍:https://developer.android.com/topic/performance/launch-time.html

从Android 4.4(API Level 19)开始,logcat包含了输出displayed时间相关的日志信息,dispalyed行后面的时间值表示应用启动进程和完成绘制屏幕上相应活动之间所花费的时间。所经过的时间包含以下事件序列:

1,启动过程
2,初始化对象
3,创建并初始化activity
4,布局
5,首次绘制应用
logcat日志行有输出类似于下面的示例:

ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms
备注:windows下用findstr;adb进入android后用grep,使用logcat过滤参数以方便日志查看:

adb logcat -s ActivityManager |findstr "Displayed”

--"-s"选项: 设置输出日志的标签, 只显示该标签的日志;

如果要保存为文件,

adb logcat -v time -s ActivityManager ->保存路径和文件名

ActivityManager: Displayed显示的度量时间在logcat输出不一定等到所有资源加载和显示捕获的时间:不包括那些不在布局文件引用或应用程序创建的对象初始化部分引用的资源,因为加载它们是一个内联进程,并且不会阻止应用程序的初始显示。

有时logcat输出包含一个额外字段total time,例如:

ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms (total +1m22s643ms)

在这种情况下,第一个 time的值仅仅是属于第一个绘制的activity。 total time测量从应用程序进程开始,并可以包括另外的首次启动但没有显示到屏幕上的任何activities。 total time仅在单个 activity和多个 activity总启动时间之间存在差异时显示。

另外,也可以通过使用ADB shell 命令运行应用程序来测量初始显示时间。例子:

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

这个度量出现在logcat输出之前,你 的终端窗口也可以显示:

Starting:IntentActivity:com.example.app/.MainActivityThisTime:2044TotalTime:2044WaitTime:2054Complete

-c 和-a参数是可选的。

引用https://www.zhihu.com/question/35487841?sort=created结论:

如果只关心某个【应用自身】启动耗时,参考TotalTime;如果关心【系统】启动应用耗时,参考WaitTime;如果关心【应用有界面】Activity启动耗时,参考ThisTime

Android应用或界面启动时间性能相关推荐

  1. 【Android 性能优化】应用启动优化 ( 启动优化项目 | 界面启动时间 | 启动优化项目 | 方法追踪 MethodTracing )

    文章目录 一. 界面启动时间 二. 启动优化项目 三. 方法追踪 一. 界面启动时间 在 [Android 性能优化]应用启动优化 ( 启动白屏问题 | 应用启动时间测量 | 冷启动 | 热启动 | ...

  2. qnap刷android tv,【威联通 TAS-268 电视NAS使用总结】连接|界面|应用|性能_摘要频道_什么值得买...

    威联通 TAS-268 电视NAS使用总结(连接|界面|应用|性能) 通过HDMI与电视连接,接好电源,开机点亮. 随即电视屏幕上QNAP logo出现,机器内置的Android系统开始启动. 第一部 ...

  3. android自助终端界面源码_这些安卓源码调试技巧,不懂的程序员月薪绝对不过 30k...

    今天我分享的是Framework的学习和调试的方法. 首先,Android是一种基于Linux的开放源代码软件栈,为广泛的设备和机型而创建.下图是Android平台的主要组件. 从图中你可以看到主要有 ...

  4. android的webView的教程,Android WebView 应用界面开发教程

    WebView组件本身就是一个浏览器实现,Android5.0增强的WebView基于Chromium M37,直接支持WebRTC.WebAudio.WebGL.开发者可以直接在WebView中使用 ...

  5. android图片跳转动画效果,Android实现Activity界面切换添加动画特效的方法

    本文以实例形式展示了Android实现Activity界面切换添加动画特效的方法,对于Android程序设计人员来说有很好的参考借鉴价值.具体方法如下: 了解Android程序设计的人应该知道,在An ...

  6. Android之登录界面设计

    Android之登录界面设计 这篇文章主要讲述Android开发中常用的APP开发界面–登录界面的开发(由于博主是初学安卓,可能有些小伙伴会感到简陋,我会继续努力学习新知识的,大家一起加油). (1) ...

  7. Android 程序启动界面Demo

    2019独角兽企业重金招聘Python工程师标准>>> Android 程序启动界面Demo,动态的呢 转载:http://www.adobex.com/android/source ...

  8. android自助终端界面_ZTHP500 | 桌面式人脸消费终端

    科技总在不知不觉中影响着我们的生活和生产方式,让衣食住行都变的更加智能化,过去只存在于我们想象当中的事物正在一一变为现实,缩短我们与世界的距离. "明明可以靠脸吃饭"本来只是一句玩 ...

  9. android try catch并不影响性能

    今天,简单讲讲android里使用try--catch语句是否会影响性能. 我在app的代码里有一些for循环里面有try - catch语句,担心循环里一直执行try - catch语句会影响效率, ...

最新文章

  1. SQL Server 中关于 @@error 的一个小误区
  2. 游标迭代器(过滤器)——Scan
  3. 一篇博客读懂设计模式之---动态代理与反射
  4. asp.net GridView 时间格式化 设置 短日期格式 去掉0!
  5. 共享文件夹只能连接20人_英语正能量 | 快乐可以与人共享,苦难却只能自己坚强...
  6. linux引导界面含义,Linux引导时输入特殊信息的含义的方法
  7. 【html5和css3】animation属性整理
  8. 世界各国简称 电话区号JSON数据
  9. php去掉文字空白换行,php去掉空格换行的方法
  10. 织梦dedecms全自动采集的方法
  11. 面向对象程序设计——基于JML的地铁系统
  12. word文档如何设置四级标题
  13. java调用存储过程 sql server,Sql Server的存储过程与Java代码相连接调用(二)
  14. 英语好不好,不影响做外贸
  15. 手机唯一标识IMEI以及与IMSI的区别
  16. 猿创征文|项目中使用Git,解决一些项目开发中常见的Git问题
  17. 万卷书 - 大家来写作 [Everybody Writes]
  18. php对接AliGenie天猫精灵服务器控制智能硬件esp8266③ 渗入熟悉AliGenie 对接协议,揭开第三方云平台是如何让天猫精灵是发送消息到私有服务器的!
  19. Autodesk Mudbox 2019 for Mac(三维雕刻软件)
  20. C语言console工具鼠标事件中xbutton侧键前进后退键的实现

热门文章

  1. 时间戳转换为日期格式
  2. 电磁功率流和坡印廷矢量
  3. lintcode 简单篇(二)
  4. 《塔木德智慧全书》摘要(之三)
  5. C语言初学者如何做出美观的图形界面(附源码及完整文件)
  6. 第七周 手机摄影——用手机怎样拍会更好
  7. linux权限管理ppt,Linux用户和权限管理.ppt
  8. Redhat8的yum仓库配置及DNF的解释
  9. 动漫人物头发怎么画(头发画法步骤)
  10. java 面试上机题_java上机笔试试卷