2.1 dumpsys查看系统数据
帮助文档:
#adb shell dumpsys -h
命令格式:
#adb shell dumpsys [-t timeout] [--help | -l | --skip services | service [arguments] | -c | -h]
列出 dumpsys 支持的所有系统服务:
#adb shell dumpsys -l
获取当前APP窗口名/包名:
#dumpsys window | grep mCurrentFocus //shell环境
#adb shell dumpsys window | findstr mCurrentFocus //window下
获取某个app package的activity栈:
#dumpsys activity activities | grep com.android.mms | grep Hist
#adb shell dumpsys activity activities | findStr com.android.mms | findStr Hist
查看正在运行的应用/服务:
#dumpsys activity | grep -i run
#adb shell dumpsys activity | findStr -i run
查看前台Activity:
#adb shell dumpsys activity activities
#adb shell dumpsys activity top
查看某个APP包名的版本信息:
#dumpsys package com.android.mms | grep version
#adb shell dumpsys package com.android.mms | findStr version
内存分析:
#adb shell dumpsys meminfo
#adb shell dumpsys meminfo [pid/pkg] //dump某个pid进程或者app的内存信息
eg-> #adb shell dumpsys meminfo com.android.mms
2.2 PM
帮助文档:
#adb shell pm -h
列出所有包名:
#adb shell pm list packages
列出所有不可用的包名:
#adb shell pm list packages -d
列出所有可用的包名:
#adb shell pm list packages -e
列出系统所有包名:
#adb shell pm list packages -s
列出系统所有第三方包名:
#adb shell pm list packages -3
列出系统所有包名及对应的UID: (UID 是安装APK 时,系统赋予的,是不变的,除非卸载重装)
#adb shell pm list packages -U
查看包名和versionCode:
#adb shell pm list packages --show-versioncode
过滤包名:
#adb shell pm list packages -U [pkg]
2.3 AM
启动activity:
#adb shell am start
#eg: adb shell am start com.android.mms/com.android.mms.MainActivity
触发内存级别回调:
adb shell am send-trim-memory [--user
[HIDDEN|RUNNING_MODERATE|BACKGROUND|RUNNING_LOW|MODERATE|RUNNING_CRITICAL|COMPLETE]
#eg: adb shell am send-trim-memory com.android.mms RUNNING_LOW
计算APP启动时间:
#adb shell am start -W packagename/MainActivity
总共返回了三个结果,我们以 WaitTime 为准
Waittime = endTime - startTime
startTime记录的刚准备调用startActivityAndWait()的时间点endTime记录的是startActivityAndWait()函数调用返回的时间点WaitTime = startActivityAndWait()调用耗时。