1,查看当前系统的service
A:adb shell dumpsys //仅打印包名
B:adb shell service list //打印所有service及各自对应包名
2,查看指定service信息,如adb shell dumpsys cpuinfo,adb shell dumpsys activity、dumpsys meminfo com.tencent.mobileqq等,如有需要可以-h查询参考;
3,dumpsys的实现
dumpsys其实是一个很小的native可执行程序,code位置在:frameworks/native/cmds/dumpsys/下
其实现比较简单,
A:就是首先通过binderCall向ServiceManager查询service;
B:再次确认该service是否alive(接口checkService());
C:若alive,通过binder调用dump方法,dump即是一个binderCall,然后服务端会执行。注意此dump会传入一个fd用于写入dump的log,此处固定为STDOUT_FILENO,即标准输出