安卓APP性能监测工具的Q&A
说说粉丝们关注的问题:
-
工具的是否可靠有效?
可根据你所知道的操作原理,进行获取数据跟工具进行对比,这样就可知道工具的可靠性,也便于后续你的使用,只要设计原理正确,基本数据就正确了
-
工具是用什么原理来获取数据呢?
内存:
原本是通过adb shell top 获取的实时内存,但这个误差,已修改为adb shell dumpsys meminfo + 包名获取的pss tatal 总内存
这个也间接回答了为什么你们获取的内存不一样
cpu:
通过 adb shell top -d 1 | grep 包名 获取cpu和获取手机是几核,然后进行相除,来知道cpu百分比,这就是为什么早期的版本cpu会100+,而现在的版本不会超过100%
流量:
获取被测app的pid,然后catproc/pid/net/dev,里面的wlan0 代表无线网络,移动网络rmnet0,部分设备的移动网络有的是rmnet_data0
网速:直接后1s的值扣去前1s得到的值就是网速
fps:
通过adb shell dumpsys gfxinfo "PACKAGE_NAME" framestats来获取,
获取到的根据手机系统有两种方式,一种是直接获取到1s刷新的值,一种是120帧的值,两种方式,都要算出平均帧/s,然后倒数算出s/帧,帧率
注:6.0以下手机,要在开发者模式,把GPU呈现模式分析打开为 条形图
当前activity:
通过 adb shell dumpsys activity activities | grep intent 获取
手机电量跟温度:
通过adb shell dumpsys battery 获取
测试app电量:(用于》=5.0系统)
通过adb shell ps | grep 包名,获取UID,然后输入 adb shell dumpsys batterystats “包名” |grep uid ,注意这边的UID中的"_"要去掉,就可获取到电量值
总内存:
通过adb shell top -O RSS -d 1 获取mem的total值
3.我的电脑运行不起来?
工具只在win10 64位测试,但其他同学在win7 64位也可以运行
4.这工具展示这样是不是有问题等。。。。。。
请看微信订阅号的使用说明,谢谢
以上,整体就是关于目前将近500粉丝的疑问,预计下周会更新一版,敬请期待~