Android提供的dumpsys工具可以用于查看感兴趣的系统服务信息与状态,手机连接电脑后可以直接命令行执行adb shell dumpsys 查看所有支持的Service但是这样输出的太多,可以通过
dumpsys | grep "DUMP OF SERVICE" 仅显示主要的Service的信息
一、列出
dumpsys所有支持命令
> adb shell $ dumpsys | grep "DUMP OF SERVICE" 例如:shell@m:/ $ dumpsys | grep "DUMP OF SERVICE" dumpsys | grep "DUMP OF SERVICE" DUMP OF SERVICE AtCmdFwd: DUMP OF SERVICE CustomFrequencyManagerService: DUMP OF SERVICE DirEncryptService: DUMP OF SERVICE Exynos.HWCService: DUMP OF SERVICE Exynos.IPService: DUMP OF SERVICE FMPlayer: DUMP OF SERVICE LEDService: DUMP OF SERVICE SecTVOutService: DUMP OF SERVICE SurfaceFlinger: DUMP OF SERVICE TvoutService_C: DUMP OF SERVICE accessibility: DUMP OF SERVICE account: DUMP OF SERVICE activity: DUMP OF SERVICE alarm: DUMP OF SERVICE android.security.keystore: DUMP OF SERVICE application_policy: DUMP OF SERVICE appops: DUMP OF SERVICE appwidget:.........二、具体命令如何查看帮助
从上面可以看出Service非常多,“DUMP OF SERVICE”关键字后面的单词都可以直接通过 dumpsys + 单词 查看相关信息,具体每一个如何使用有一种通用的查看帮助的办法。查看每一个命令的使用帮助,以下以meminfo 为例演示:
shell@m:/ $ dumpsys meminfo -h dumpsys meminfo -h meminfo dump options: [-a] [--oom] [process] -a: include all available information for each process. --oom: only show processes organized by oom adj. If [process] is specified it can be the name or pid of a specific process to dump.三、一些关键命令解释
名字 功能 account 显示accounts信息 activity 显示所有的activities的信息 cpuinfo 显示CPU信息 window 显示键盘,窗口和它们的关系 wifi 显示wifi信息 batteryinfo $package_name 电量信息及CPU 使用时长 package packagename 获取安装包信息 usagestats 每个界面启动的时间 statusbar 显示状态栏相关的信息 meminfo 内存信息(meminfo $package_name or $pid使用程序的包名或者进程id显示内存信息)diskstats 磁盘相关信息 battery 电池信息 alarm 显示Alarm信息
activity - 使用adb shell dumpsys检测Android的Activity任务栈statusbar - 找出广告通知属于哪个应用dumpsys statusbar | grep notification=Notification
四、参考资料
Dumpsys (官方文档)
How to discover memory usage of my application in Android
android中dumpsys函数介绍与使用 (代码分析)