AnotherMonitor monitors and records the CPU and memory usage of Android devices.
The app is released on Google Play: https://play.google.com/store/apps/details?id=org.anothermonitor.
AnotherMonitor is ideal to find out the device CPU and memory resources state in real time.
It has 2 main options:
- It shows a graphic and several text labels wherein the values of the CPU and memory usage are updated every 0.5, 1, 2 or 4 seconds.
- It can record on a CSV file the read values for a later usage and process on a spreadsheet program.
The app can run in the background. Then, the second option is specially interesting since, in the background, AnotherMonitor consumes little resources and can monitor and record the CPU and memory values that other applications are using in the foreground.
From the buttons shown in the system bar the recording of values can be started and the app can be closed.
In order to get the CPU usage the app does NOT make use of the Top
command from Linux but instead it parses /proc/stat
and rest of process folders from the procfs
file system and work out the calculations with the user and system time. This is implemented on ServiceReader.class. You can find more information about it on:
The app does not support showing of information regarding a specific device's core in multi-core devices. The implementation of this functionality would require considerable time. So there is no schedule for this feature.
For devices running Android 5.1.1+ it is not possible any more to retrieve the processes list with ActivityManager.getRunningAppProcesses(). This change has not been documented anywhere on the official documentation nor an alternative way to retrieve the list has been provided. Thankfully the community at Stack Overflow came out with some satisfying solution. For devices with Android 5.1.1+ AnotherMonitor now uses the unofficial AndroidProcesses library to retrieve the processes list. The drawback of this is that for some processes there is no way to retrieve the app name nor the icon and instead only the long package name is shown.
AnotherMonitor makes use of some external libraries to carry out different tasks:
- Android v4 Support Libraries.
- AndroidProcesses: retrieves the device processes list to populate the 'Processes' screen.
These all dependencies are included and configured on the Gradle files.
If you have an awesome pull request no matter whether it's a big or small change, send it over! Your link to your GitHub account will be added below.
AnotherMonitor makes use of the GNU GPL v3.0 license. Remember to make public your project source code when reusing AnotherMonitor code.