一、查看cpu
1.进入
adb shell
2.输入
top -m 10 -s cpu
可查看占用cpu最高的前10个程序(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)
参数含义
PID:progress identification,应用程序ID
S: 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
#THR:程序当前所用的线程数
VSS:Virtual Set Size虚拟耗用内存(包含共享库占用的内存)
RSS: Resident Set Size实际使用物理内存(包含共享库占用的内存)
PCY:不知道什么意思,期待解答
UID:User Identification,用户身份ID
Name:应用程序名称
二、内存消耗
1.进入
adb shell
2.输入
dumpsys meminfo (PID或者是包名)
参数含义
dalvik:dalvik使用的内存
native:native堆上的内存,指C\C++堆的内存(android 3.0以后bitmap就是放在这儿)
other:除了dalvik和native的内存,包含C\C++非堆内存······
Pss:该内存指将共享内存按比例分配到使用了共享内存的进程
allocated:已使用的内存
free:空闲的内存
private dirty:非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)
share dirty:共享,但有不能被换页出去的内存
四、通过wifi连接Android手机
1.将手机通过USB连接到电脑,输入
adb tcpip 5555
2.拔掉USB,保证手机和电脑在同一个网段,在终端中输入如下命令:
adb connect 手机ip地址
3.查看设备连接
adb devices
五、测试手机耗电量
1、查询被测应用的uid
adb shell ps | grep com.package.name # 输入被测试应用的包名称
输出结果中第一个字段就是这个应用的uid,后面在查看电池统计报告中需要用到,但是注意要将字段中的下划线“_”去掉。例如u0_a138,替换为u0a138。
2、查看电池设备信息
$ adb shell dumpsys battery
AC powered: false
USB powered: true
Wireless powered: false
status: 1 #电池状态:2:充电状态 ,其他数字为非充电状态
health: 2 #电池健康状态:只有数字2表示good
present: true #电池是否安装在机身
level: 55 #电量: 百分比
scale: 100
voltage: 3977 #电池电压
temperature: 350 #电池温度,单位是0.1摄氏度
technology: Li-poly #电池种类
3、更改设备信息
切换手机电池为非充电状态: adb shell dumpsys battery set status 1
让手机电量显示百分百: adb shell dumpsys battery set level 100
让手机电量显示1: adb shell dumpsys battery set level 1
4、详细电池使用信息
获取整个设备的电量消耗信息:
adb shell dumpsys batterystats | more
获取某个apk的电量消耗信息:
adb shell dumpsys batterystats com.Package.name | more
5、输出为文件
adb shell dumpsys batterystats > batterystats_log.txt
6、电量消耗信息
主要是通过battery-historian工具来获取。
https://github.com/google/battery-historian
7、将获得的数据转换为可视化的html文件
命令:python historian.py xxx.txt > xxx.html
Google Python脚本下载地址:https://github.com/google/battery-historian