美文网首页Android开发
dumpsys命令用法

dumpsys命令用法

作者: 锐心凌志 | 来源:发表于2018-04-25 02:15 被阅读0次

dumpsys命令功能很强大,能dump系统服务的各种状态,非常有必要熟悉该命令的用法以及含义。

一、 概述

1.1 dumpsys命令用法

可通过dumpsys命令查询系统服务的运行状态(对象的成员变量属性值),命令格式:dumpsys 服务名, 例如:

dumpsys activity //查询AMS服务相关信息
dumpsys window //查询WMS服务相关信息
dumpsys cpuinfo //查询CPU情况
dumpsys meminfo //查询内存情况

可查询的服务有很多,可通过下面任一命令查看当前系统所支持的dump服务:

adb shell dumpsys -l
adb shell service list

1.2 系统服务

表一:

服务名 类名 功能
activity ActivityManagerService AMS相关信息
package PackageManagerService PMS相关信息
window WindowManagerService WMS相关信息
input InputManagerService IMS相关信息
power PowerManagerService PMS相关信息
batterystats BatterystatsService 电池统计信息
battery BatteryService 电池信息
alarm AlarmManagerService 闹钟信息
dropbox DropboxManagerService 调试相关
procstats ProcessStatsService 进程统计
cpuinfo CpuBinder CPU
meminfo MemBinder 内存
gfxinfo GraphicsBinder 图像
dbinfo DbBinder 数据库

表二:

服务名 功能
SurfaceFlinger 图像相关
appops app使用情况
permission 权限
processinfo 进程服务
batteryproperties 电池相关
audio 查看声音信息
netstats 查看网络统计信息
diskstats 查看空间free状态
jobscheduler 查看任务计划
wifi wifi信息
diskstats 磁盘情况
usagestats 用户使用情况
devicestoragemonitor 设备信息

二、Activity场景

dumpsys activity,用于查询AMS服务相关信息,可跟不同的参数,更多信息见文章AMS之dumpsys篇

下面以新浪微博App作为实例,由于输出结果较多,每个场景截图只挑选部分重要的信息。

场景1:查询某个App所有的Service状态

dumpsys activity s com.sina.weibo

dumpsys_service

解读:

  • Service类名为com.morgoo.droidplugin.PluginManagerService
  • 运行在进程pid=7220,进程名为com.sina.weibo,uid=10094
  • 通过bindService连接该服务的进程pid=7306,进程名为com.sina.weibo:PluginP03

当然还有packageName,baseDir(apk路径),dataDir(apk数据路径),createTime等各种信息。另外,新浪微博采用的是360开源的Android插件机制(com.morgoo.droidplugin),主要用于hotfix等功能。

场景2:查询某个App所有的广播状态

 dumpsys activity s com.sina.weibo

dumpsys_broadcast

解读:

  • android.intent.action.SCREEN_ON代表手机亮屏广播;
  • 接收该广播的receiver有很多个,其中一个所在进程为pid=7220,进程名为com.sina.weibo

场景3:查询某个App所有的Activity状态

输出结果较多,尤其是View Hierarchy,下面截取部分:

dumpsys activity a com.sina.weibo

dumpsys_activity_task

解读:

  • 格式:TaskRecord{Hashcode #TaskId Affinity UserId=0 Activity个数=1};所以上图信息解析后就是TaskId=1802,Affinity=com.sina.weibo,当前Task中Activity个数为1。
  • effectiveUid为当前task所属Uid,mCallingUid为调用者Uid=u0a94,mCallingPackage为调用者包名,这里是com.sina.weibo
  • realActivity:task中的已启动的Activity组件名com.sina.weibo/.SplashActivity

场景4:查询某个App的进程状态

dumpsys activity p com.sina.weibo

dumpsys_processes
  • 格式:ProcessRecord{Hashcode pid:进程名/uid},进程pid=7306,进程名为com.sina.weibo:PluginP03,uid=10094.
  • 该进程中还有Services,Connections, Providers, Receivers,可以看出该进程是没有Activity的进程。

其他

还有很多场景,会用到不同的参数,这里就不再一一列举,建议大家多去尝试,慢慢地就更加熟练,再比如:

dumpsys activity top //当前界面app状态
dumpsys activity oom //查看进程状态


相关文章

  • dumpsys activity用法汇总

    一、dumpsys 命令用法: 可通过 dumpsys 命令查询系统服务的运行状态 (对象的成员变量属性值),命令...

  • dumpsys命令用法

    dumpsys命令功能很强大,能dump系统服务的各种状态,非常有必要熟悉该命令的用法以及含义。 一、 概述 1....

  • dumpsys 命令用法

    一、 dumpsys命令 1.1 服务列表 不同的Android系统版本支持的命令有所不同,可通过下面命令查看当前...

  • dumpsys 命令用法

    一、 dumpsys命令 1.1 服务列表 不同的Android系统版本支持的命令有所不同,可通过下面命令查看当前...

  • dumpsys命令用法

    duang~~~

  • dumpsys命令备忘

    ref:dumpsys命令用法https://www.cnblogs.com/JianXu/p/5376642.h...

  • Android 调试系列-Dumpsys实战篇

    dumpsys命令可以dump系统各种服务的状态,因此在平常的开发过程中如果很好的掌握dumpsys的用法,会事半...

  • adb shell dumpsys 命令用法

    出发点一: Android 引入了「任务栈」的概念,这个概念对于 Android 设备上的返回按键有极其重要的联系...

  • Android dumpsys 简述

    dumpsys命令功能很强大,能dump系统服务的各种状态,非常有必要熟悉该命令的用法以及含义。 一、 概述[ht...

  • Android内存的相关排查方法

    一、dumpsys meminfo命令 dumpsys meminfo 是Android系统提供的查询内存命令,用...

网友评论

    本文标题:dumpsys命令用法

    本文链接:https://www.haomeiwen.com/subject/wdxelftx.html