How can I monitor and visualize the current resource usage (CPU, Memory, etc.) caused by the running Apps? I am looking for typical per app/process resource usage information (CPU, Memory, etc.). This information is often useful to find and identify misbehaving apps.

How can I monitor and visualize the current resource usage (CPU, Memory, etc.) caused by the running Apps?
There are several ways to collect this type of information, I'll be speaking about two that I use on a daily basis as to oversee what's going on with my devices:



Terminal

Using a terminal application, you are able to run Linux commands like top or ps that provide information about the currently running processes:


ps


  ps (i.e., process status) displays information about a selection of the active processes.

top


  The top program provides a dynamic real-time view of a running system. It can display system summary information as well as a list of tasks currently being managed by the Linux  kernel.



The terminal I most use is called Android Terminal Emulator by Jack Palevich available from Google Play Store.



Application

There are several applications with the sole purpose of providing you with real-time information regarding the processes being executed, detailed information about apps and their system resources usage, system logs or system monitoring:

Android System Info by ElectricSheep available from Google Play Store.

This app presents information divided with 5 tabs:


Dashboard

An overview of you device important information: battery usage; Internal Memory used/free; SDCard size and free space; RAM; etc.
System

All system information is presented here: OS; Buildinfos; Battery; Memory; Telephony; Networks; Wifi; CPU; Screen; Sensors; Features; JavaProperties; and many more. Just tap over each one to unfold the detailed information.
Tasks

Shows the total CPU load and CPU load/memory used for each process. You can tap a process to get more details about it; kill the process or switch to the process.
Apps

List of all installed apps, providing means to stop or uninstall an app. If you tap over an app, you have several options like: launch; Manage; Uninstall; etc. Additionally, you are able to see all the useful information about the package itself and in relation to your system, including all permissions he uses.
Logs

Provides you with your system logs. If you press "menu" the logs will be saved to your SD  card.