Android APP性能测试以及性能指标

Android的app性能测试包括的测试项:Activity响应时间,帧率,内存,cpu消耗,耗电量,冷启动

Activity响应时间的相关测试

查看当前APP打开的页面命令:

adb shell dumpsys activity | findstr  mResumedActivity
#安卓14
adb shell "dumpsys window | grep mCurrentFocus"

冷启动:

用命令去打开APP的某个activity

//先杀死APP
adb shell am force-stop packageName
//启动被测应用
adb shell am start -W packageName/ActivityName

得出进入该activity的耗时
在这里插入图片描述
startTime记录的刚准备调用startActivityAndWait()的时间点
endTime记录的是startActivityAndWait()函数调用返回的时间点
WaitTime = startActivityAndWait()调用耗时。

热启动

//启动App命令:
adb shell am start -W -n package/activity
//停止App命令:相当于返回 没有杀死APP
adb shell input keyevent 3 (发送一个keyevent事件,3代表点击手机上的“back”键)

在这里插入图片描述
这里的225ms耗时就是热启动的。

如果是要测试运行时的每个activity的响应时间,要记录日志查看am_activity_launch_time的时间

adb logcat -v threadtime -b events | findstr "am_activity_launch_time"

在这里插入图片描述
还有另外一条命令也能查看

adb shell logcat -b main | findstr ActivityManager

在这里插入图片描述

查看内存以及CPU占用

空闲状态:切换至后台或者启动后不做任何操作,消耗内存最少。
中强度状态:时间偏长的操作应用。
高强度状态:高强度使用应用,可以跑monkey来测试(通常用来测试内存泄漏)。
退出某个页面后,内存是否有回落。 如果没有及时回落,且程序自动GC或者手动GC,那便可确认有问题。
进行某个操作后,内存是否增长过快。 如果增长过快,也有可能存在风险,需重复操作确认。

内存泄漏和内存溢出的区别:
内存泄露:运行时申请的内存空间没有被正确的释放,导致后续程序的这块内存是被永远占用的,不能被使用,(APP退出后所占用的内存仍然不降下去)
内存溢出:运行时的内存超出了指定的空间大小,处于越界的情况。(会提示手机内存不足或强制退出APP)

测试命令

 adb shell top -d 5 -n 300 | find "packageName"
 #d表示每次抓取的间隔时间,秒
 #n表示抓取的内存的次数
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值