app性能测试2

时间:2021-09-16 05:18:24

找坐标步骤:设置->关于手机->版本号连续点击,直到显示您已处于开发者模式,无需进行此操作为止,退出进入开发者选项,找到指针位置,开启后点击屏幕即可看到坐标

app性能测试2

 

app性能测试2

先输入from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage,再输入MonkeyRunner.alert("hello","hi","OK"),就会弹出

app性能测试2

 

可以在sdk/tools/monkeyrunner.bat里进行输入

app性能测试2

 

app性能测试2

app性能测试2

 

app性能测试2

app性能测试2

 

app性能测试2

app性能测试2

 

app性能测试2

app性能测试2

 

app性能测试2

把上面脚本保存成py文件,然后在cmd里输入monkeyrunner xx.py文件,一定要输入绝对路径,也可以在monkeyrunner.bat里输入相对路径(这里的相对路径是相对于monkeyrunner.bat)

img2=MonkeyRunner.loadImageFromFile(‘c:\files\test_1234.png‘,‘png‘) 

MonkeyRunner.sleep(3)

flag=image.sameAs(img2,0.65) # 图像对比

MonkeyRunner.sleep(1)

print flag # true或者false

app性能测试2

 

app性能测试2

RSS是每个app都是一个内存,如10M,PSS是每个app都乘以10M的比例

app性能测试2

 

app性能测试2

adb shell "top -d 1 | grep packageName"是1s显示一次

app性能测试2

 

倒数第一列 倒数第二列<=倒数第三列

app性能测试2

 

app性能测试2

app性能测试2

 

app性能测试2

app性能测试2

 

app性能测试2

手机重启以后tcp_rcv和tcp_snd文件中的数据被清空

app性能测试2

 

4554的单位是B,换算成KB,B换成KB/1024

app性能测试2

 

流量是不通过什么方式来的,无论是无线,还是4G,如果出现多行就多行累加

app性能测试2

 

后一秒-前一秒的差值还是比较准确的,后面的相加-前面的相加

app性能测试2

 

app性能测试2

取TotalTime的值

app性能测试2

用的最多就是第一条,执行monkey前执行一次,执行monkey后执行一次,两个level值相减就是消耗的电量(连着电脑就是电脑的电量,断开连接就是手机的电量)

app性能测试2

 

app性能测试2

电量设为100,level就是100,模拟器上电量是满格的

app性能测试2

 

看status是1和不是1的状态

app性能测试2

 

首先在模拟器上安装MyMemoryDemo.apk

app性能测试2

 

关注data object里的Total Size的数据,然后在模拟器里打开MyMemoryDemo.apk,点击点我啊点我啊按钮11次,10多次就行,如下图:

app性能测试2

 

点完后跳出模拟器,发现Total Size一直增加,怀疑它是内存泄漏,于是点击Dump HPROF file按钮,把这个文件dump下来

app性能测试2

 

出现下面这个图证明文件dump下来了,保存一下

app性能测试2

 

app性能测试2

通过hprof-conv将dump下来的文件改成一个别的名字

app性能测试2

 

选择改名后的文件,点击打开,生成下面的页面

app性能测试2

 

点击app性能测试2,大对象罗列,弹出下面的页面

app性能测试2

 

选中第一个,然后右键List objects->with incoming references,跳转到下个页面,选中第一个,再右键Path To GC Roots->exclude all phantom/weak/soft etc. references(选择倒数第二个),弹出下面的页面

app性能测试2

 

把这个图给开发,就是这个方法导致的内存泄漏