dumpsys
dumpsys指令是ADB中的一个非常重要的指令。通过这个指令可以查看很多设备的状态信息。在《Android群英传》中,笔者已经简要介绍了这个指令。下面笔者将继续介绍一些dumpsys的相关指令。
一般来说,常用的几个dumpsys参数有以下几个。
- Activity:显示运行Activity信息。
- cpuinfo:显示CPU信息。
- meminfo:显示内存信息。
- package:显示package信息。
- window:显示窗口信息。
- statusbar:显示状态栏信息。
- battery/batteryinfo:显示电池/使用信息。
- alarm:显示alarm信息。
这些都是平时开发、解Bug时经常会使用到的一些指令。
如何学习dumpsys指令
dumpsys指令的参数众多而且信息量巨大,要想完全掌握dumpsys指令的使用,绝非一日之功。但是与大部分的Linux终端指令一样,利用指令的帮助文件才是学习指令的最好方式。笔者以dumpsys meminfo指令为例讲解如何学习这个指令的使用。
首先,在ADB终端中输入以下指令,以获取帮助信息。
- 130|shell@mako:/ $ dumpsys meminfo -h
- meminfo dump options: [-a] [-d] [-c] [--oom] [process]
- -a: include all available information for each process.
- -d: include dalvik details when dumping process details.
- -c: dump in a compact machine-parseable representation.
- --oom: only show processes organized by oom adj.
- --local: only collect details locally, don't call process.
- --package: interpret process arg as package, dumping all processes that have loaded that package.
- If [process] is specified it can be the name or pid of a specific process to dump.
以上列举了meminfo参数所支持的命令和格式。参照帮助信息可以迅速找到自己想要实现的功能,这样比起去百度、Google搜索更快捷、准确。
例如,可以通过指令查看当前显示的窗口,指令如下所示。
- ➜ ~ adb shell dumpsys window windows | grep -E mCurrentFocus
- mCurrentFocus=Window{ 33b2bb7d u0 com.android.launcher/com.android.launcher2.Launcher}
除了这个简单的示例,本书的很多地方实际上已经用到了dumpsys指令。特别是在性能优化章节里,笔者将使用dumpsys指令完成很多性能检测工作。
