当前位置: 代码迷 >> Android >> 四、参考资料
  详细解决方案

四、参考资料

热度:200   发布时间:2016-04-28 04:51:51.0
Android 性能优化 五 性能分析工具dumpsys的使用


    Android提供的dumpsys工具可以用于查看感兴趣的系统服务信息与状态,手机连接电脑后可以直接命令行执行adb shell dumpsys 查看所有支持的Service但是这样输出的太多,可以通过dumpsys | grep "DUMP OF SERVICE" 仅显示主要的Service的信息

一、列出dumpsys所有支持命令

> adb shell$ dumpsys | grep "DUMP OF SERVICE"

以下是在我个人三星S3手机上的输出信息

C:\Windows\System32>adb shell[email protected]:/ $ 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:DUMP OF SERVICE audio:DUMP OF SERVICE backup:DUMP OF SERVICE battery:DUMP OF SERVICE batteryinfo:DUMP OF SERVICE bluetooth_manager:DUMP OF SERVICE bluetooth_secure_mode_manager:DUMP OF SERVICE clipboard:DUMP OF SERVICE clipboardEx:DUMP OF SERVICE commontime_management:DUMP OF SERVICE connectivity:DUMP OF SERVICE container_service:DUMP OF SERVICE content:DUMP OF SERVICE country_detector:DUMP OF SERVICE cpuinfo:DUMP OF SERVICE dbinfo:DUMP OF SERVICE device_policy:DUMP OF SERVICE devicestoragemonitor:DUMP OF SERVICE diskstats:DUMP OF SERVICE display:DUMP OF SERVICE dreams:DUMP OF SERVICE drm.drmManager:DUMP OF SERVICE dropbox:DUMP OF SERVICE edmnativehelper:DUMP OF SERVICE enterprise_license_policy:DUMP OF SERVICE enterprise_policy:DUMP OF SERVICE entropy:DUMP OF SERVICE gfxinfo:DUMP OF SERVICE hardware:DUMP OF SERVICE harmony_eas_service:DUMP OF SERVICE input:DUMP OF SERVICE input_method:DUMP OF SERVICE iphonesubinfo:DUMP OF SERVICE isms:DUMP OF SERVICE license_log_service:DUMP OF SERVICE location:DUMP OF SERVICE lock_settings:DUMP OF SERVICE log_manager_service:DUMP OF SERVICE mdm.remotedesktop:DUMP OF SERVICE media.audio_flinger:DUMP OF SERVICE media.audio_policy:DUMP OF SERVICE media.camera:DUMP OF SERVICE media.player:DUMP OF SERVICE meminfo:DUMP OF SERVICE motion_recognition:DUMP OF SERVICE mount:DUMP OF SERVICE multiwindow:DUMP OF SERVICE netpolicy:DUMP OF SERVICE netstats:DUMP OF SERVICE network_management:DUMP OF SERVICE nfc:DUMP OF SERVICE nfccontroller:DUMP OF SERVICE notification:DUMP OF SERVICE package:DUMP OF SERVICE permission:DUMP OF SERVICE phone:DUMP OF SERVICE phone_restriction_policy:DUMP OF SERVICE phoneext:DUMP OF SERVICE power:DUMP OF SERVICE remoteinjection:DUMP OF SERVICE samplingprofiler:DUMP OF SERVICE samsung.smartfaceservice:DUMP OF SERVICE scheduling_policy:DUMP OF SERVICE search:DUMP OF SERVICE sec_analytics:DUMP OF SERVICE secontroller:DUMP OF SERVICE sensorservice:DUMP OF SERVICE serial:DUMP OF SERVICE servicediscovery:DUMP OF SERVICE simphonebook:DUMP OF SERVICE sip:DUMP OF SERVICE statusbar:DUMP OF SERVICE telephony.registry:DUMP OF SERVICE textservices:DUMP OF SERVICE tvoutservice:DUMP OF SERVICE uimode:DUMP OF SERVICE updatelock:DUMP OF SERVICE usagestats:DUMP OF SERVICE usb:DUMP OF SERVICE user:DUMP OF SERVICE vibrator:DUMP OF SERVICE voip:DUMP OF SERVICE wallpaper:DUMP OF SERVICE wfd:DUMP OF SERVICE wifi:DUMP OF SERVICE wifi_policy:DUMP OF SERVICE wifip2p:DUMP OF SERVICE window:

二、具体命令如何查看帮助

从上面可以看出Service非常多,“DUMP OF SERVICE”关键字后面的单词都可以直接通过 dumpsys + 单词 查看相关信息,具体每一个如何使用有一种通用的查看帮助的办法。

查看每一个命令的使用帮助,以下以meminfo 为例演示:
[email protected]:/ $ dumpsys meminfo -hdumpsys meminfo -hmeminfo 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 orpid 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任务栈
window - 通过adb shell dumpsys命令获取当前应用的component
statusbar - 找出广告通知属于哪个应用
    dumpsys statusbar | grep notification=Notification 




四、参考资料

Dumpsys (官方文档)
How to discover memory usage of my application in Android
android中dumpsys函数介绍与使用 (代码分析)



更多优化相关的文章详见:《Android 基础学习文章汇总》 第三部分 性能优化