Android Device Monitor

Android Device Monitor is a standalone tool that provides a UI for several Android app debugging and analysis tools.

However, most components of the Android Device Monitor are deprecated in favor of updated tools available in Android Studio 3.0 and higher. The table below helps you decide which developer tools you should use.

Android Device Monitor component What you should use
Dalvik Debug Monitor Server (DDMS)

This tool is deprecated. Instead, use Android Profiler in Android Studio 3.0 and higher to profile your app's CPU, memory, and network usage.

If you want to perform other debugging tasks, such as sending commands to a connected device to set up port-forwarding, transfer files, or take screenshots, then use the Android Debug Bridge (adb), Android Emulator, Device File Explorer, or Debugger window.


If you want to inspect existing .trace files, or ones you've captured by instrumenting your app with the Debug class, keep using Traceview.

If you want to record new method traces and inspect realtime CPU usage of your app's processes, use Android Studio's CPU profiler.


If you need to inspect native system processes and address UI jank caused by dropped frames, use systrace from the command line.

Otherwise, use Android Studio's CPU profiler to profile your app's processes.

Tracer for OpenGL ES Use the Graphics API Debugger.
Hierarchy Viewer

If you want to inspect your app's view hierarchy at runtime, use Layout Inspector.

If you want to profile the rendering speed of your app's layout, use Window.OnFrameMetricsAvailableListener as described in this blog post.

Pixel Perfect Use Layout Inspector.

Start Android Device Monitor

To start the standalone Device Monitor application, enter the following on the command line in the android-sdk/tools/ directory:


You can then link the tool to a connected device by selecting the device from the Devices pane. If you have trouble viewing panes or windows, select Window > Reset Perspective from the menu bar.

Note: Each device can be attached to only one debugger process at a time. So, for example, if you are using Android Studio to debug your app on a device, you need to disconnect the Android Studio debugger from the device before you attach a debugger process from the Android Device Monitor.