APP性能测试

  • 启动时间

冷启动:adb shell am start -W -n package/activity
停止app命令:adb shell am force-stop package
获取启动包名:adb logcat|grep START
com.android.browser/.BrowserActivity
热启动:adb shell am start -W -n package/activity
停止App命令:adb shell input keyevent 3

热启动比冷启动节省时间,因为热启动是back键后在后台运行
分别运行冷启动与热启动,对生成的csv数据使用number进行取平均值和生成曲线图进行分析

自动化脚本的实现
获取命令执行时间,作为启动时间参考值
在命令前后加上时间戳,以差值作为参考值
执行时间:
App class:LaunchApp  、StopApp 、 GetLaunchedTime
controller Class:run、cllectAllData、SaveDataToCSV

时间戳差值
APP Class:LaunchApp、StopApp、CalculateTime、TimeBeforeLaunch、TimeAfterLaunch

controller Class:run、cllectAllData、SaveDataToCSV

  • CPU

获取数据:adb shell dumpsys cpuinfo|grep packagename

 

  • 流量(版本与版本之间进行对比,或与竞品进行对比)

获取进程ID指令:adb shell ps |grep packagename

获取进程ID流量:adb shell cat proc/pid/net/dev

APP性能测试

APP性能测试

 

  • 电量

 获取电量:adb shell dumpsys battery

APP性能测试

 

切换非充电状态:adb shell dumpsys battery set status 1

APP性能测试

使用半个小时或1个小时测试app电量,

  • 内存

 获取内存:adb shell top

VSS-Vitual set size 虚拟耗用内存

RSS- Resident set size 实际使用物理内存

APP性能测试

 

  • FPS:frames per second 每秒的帧数

 

  • 过度渲染(GPU过度绘制)
  • 描述的是屏幕上的某个像素在同一帧的时间内被绘制了多次

 

APP性能测试

上一篇:transition 两个便签切换,同时在动解决 appear属性页面加载动画就开始


下一篇:Domain logic approachs