app性能测试2
找坐标步骤:设置->关于手机->版本号连续点击,直到显示您已处于开发者模式,无需进行此操作为止,退出进入开发者选项,找到指针位置,开启后点击屏幕即可看到坐标
先输入from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage,再输入MonkeyRunner.alert("hello","hi","OK"),就会弹出
可以在sdk/tools/monkeyrunner.bat里进行输入
把上面脚本保存成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
RSS是每个app都是一个内存,如10M,PSS是每个app都乘以10M的比例
adb shell "top -d 1 | grep packageName"是1s显示一次
倒数第一列+倒数第二列<=倒数第三列
手机重启以后tcp_rcv和tcp_snd文件中的数据被清空
4554的单位是B,换算成KB,B换成KB/1024
流量是不通过什么方式来的,无论是无线,还是4G,如果出现多行就多行累加
后一秒-前一秒的差值还是比较准确的,后面的相加-前面的相加
取TotalTime的值
用的最多就是第一条,执行monkey前执行一次,执行monkey后执行一次,两个level值相减就是消耗的电量(连着电脑就是电脑的电量,断开连接就是手机的电量)
电量设为100,level就是100,模拟器上电量是满格的
看status是1和不是1的状态
首先在模拟器上安装MyMemoryDemo.apk
关注data object里的Total Size的数据,然后在模拟器里打开MyMemoryDemo.apk,点击点我啊点我啊按钮11次,10多次就行,如下图:
点完后跳出模拟器,发现Total Size一直增加,怀疑它是内存泄漏,于是点击Dump HPROF file按钮,把这个文件dump下来
出现下面这个图证明文件dump下来了,保存一下
通过hprof-conv将dump下来的文件改成一个别的名字
选择改名后的文件,点击打开,生成下面的页面
点击,大对象罗列,弹出下面的页面
选中第一个,然后右键List objects->with incoming references,跳转到下个页面,选中第一个,再右键Path To GC Roots->exclude all phantom/weak/soft etc. references(选择倒数第二个),弹出下面的页面
把这个图给开发,就是这个方法导致的内存泄漏