App启动性能指标专项测试

APP启动性能度量指标
  • 首次安装启动:首次安装会耗费较多的时间初始化,比如补丁下载、缓存数据
  • 冷启动:进程不存在(谷歌标准5s)
  • 暖启动:进程存在,界面不存在(谷歌标准2s)
  • 热启动:界面对象仍然存在,只是从后台前置到前台(谷歌标准1.5s)
  • 首屏启动:第一屏加载完整
UI性能检测常用办法
  • adb logcat
  • 录屏+视频拆帧
  • uiautomator等自动化工具200ms巡检界面变化
  • traceview
  • 硬埋点
logcat中的性能数据
package=edu.yjyx.student
adb shell pm clear $package # 清理缓存数据
adb shell am force-stop $package # 停止进程
adb shell am start -S -W $package/edu.yjyx.student.module.main.ui.SplashActivity # 启动app
adb logcat|grep -i displayed # 获取数据

打印的结果为:

Stopping: edu.yjyx.student
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=edu.yjyx.student/.module.main.ui.SplashActivity }
Status: ok
Activity: edu.yjyx.student/.module.main.ui.SplashActivity
ThisTime: 769
TotalTime: 769
WaitTime: 779
Complete

ThisTime: 该activity启动耗时
TotalTime: 应用自身启动耗时=ThisTime+应用application等资源启动时间
WaitTime: 系统启动应用耗时=TotalTime+系统资源启动时间

录屏拆帧
adb shell screenrecord --bugreport --time-limit 30 data/local/tmp/test.mp4
adb pull /data/local/tmp/test.mp4
ffmpeg -i test.mp4 test.gif
ffmpeg -i test.mp4 -r 10 frames_%03d.jpg  # 0.1秒截一次
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 除了一般功能性测试和性能测试外,app还需要一些专项测试来发现更为深层的问题。之所以称为专项测试,是因为这些测试主...
    mysimplebook阅读 8,806评论 0 1
  • 一、App测试与Web测试的区别 Web端特性 首先从系统架构来看的话,web测试只要更新了服务器端,客户端就会同...
    Xyxtank阅读 16,327评论 0 14
  • 一、App测试与Web测试的区别 Web端特性 首先从系统架构来看的话,web测试只要更新了服务器端,客户端就会同...
    小灰辉先生阅读 475评论 0 0
  • 1.优化内存的常见操作 (一)内存管理机制 (二)常用内存监控工具 (三)内存优化案例分析 2.内存管理机制 AR...
    阿飞666666阅读 295评论 1 1
  • 启动时间 冷启动 进程首次创建 热启动 进程通过点击Home键等进入后台,并未杀死再次启动; 启动时间脚本化 方法...
    叶子完小阅读 1,048评论 0 0