安卓APP性能监测工具的Q&A

说说粉丝们关注的问题:

  1. 工具的是否可靠有效?

    可根据你所知道的操作原理,进行获取数据跟工具进行对比,这样就可知道工具的可靠性,也便于后续你的使用,只要设计原理正确,基本数据就正确了

  2. 工具是用什么原理来获取数据呢?

    内存:

    原本是通过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粉丝的疑问,预计下周会更新一版,敬请期待~

安卓APP性能监测工具的Q&A