专项测试--性能分析一

2022-11-21 12:02:29 浏览数 (2)

App启动性能分析

测试思路

专项测试(用户维度)

  • 崩溃(Crash,弱网)。卡顿(掉帧、gc、cpu)
  • 响应慢(启动时间、交互响应、H5加载)
  • 发热 ( cpu,mem、io、network、gps等硬件使用)
  • 掉电快(硬件占用)
  • 兼容性问题(机型覆盖、回归)

专项测试(技术维度)

  • 崩溃

自动遍历、monkey测试、横竖屏切换、快速进退。

  • 卡顿(掉帧、gc、cpu)

卡顿测试、内存泄漏测试、method profile。

  • 响应慢(启动时间、交互响应、H5加载)。

冷热启动、界面切换、h5性能测试

  • 发热(cpu,mem、io、network、gps等硬件使用)

method profile、gc统计、io统计、流量统计、硬件使用统计、耗电量分析。

  • 兼容性问题(机型覆盖、回归)

兼容性测试、自动化测试、自动遍历、monkey测试

APP性能

Activity启动流程

App启动性能指标

冷启动 建议时间:5秒

暖启动 建议时间:2秒

热启动 建议时间:1.5秒

首屏启动

主要流程

  • adb logcat
  • 录屏 视频拆帧
  • uiautomator等自动化工具200ms巡检界面变化
  • traceview
  • 硬埋点

使用adb logcat

  • package=com.tianqi.android
  • 清理缓存数据: adb shell pm clear $package
  • 停止进程: adb shell am force-stop $package
  • 启动app: adb shell am start -S-W $package/.view.WelcomeActivity Alias
  • 获取数据: adb logcat lgrep -i displayed

adb logcat结果

startTime:记录刚准备调用startActivity AndWait()的时间点

endTime:记录startActivityAndWait()函数调用返回的时间点

WaitTime: startActivityAndWait()调用耗时

WaitTime = endTime - startTime

使用ffmpeg拆针

  • adb shell am force-stop $package
  • adb shell screenrecord, --bugreport --time-limit 30 /data/local/tmp/xueqiu.mp4 &
  • adb shell am start -S-W $package/.view.WelcomeActivity Alias
  • wait
  • adb pull /data/local/tmp/xueqiu.mp4 .
  • ffmpeg -i xueqiu.mp4 xueqiu.gif
  • ffmpeg i xueqiu.mp4 -r 10 frames_d.jpg

0 人点赞