[Android Apps and Games] starnode:
[APP][2.2+] BATTERY INFORMER & TASK MANAGER - Find out what is crippling your device

Greetings, fellow Android enthusiasts.

If you're like me, that is, *very* curious (not to say, almost paranoid) about what is happening inside your shiny Android device, you've surely ended up with a lot (well, say 5+) apps to manage different aspects of the Android OS.

Optimization you got in one hand are lost by the mere fact that all those apps starts overlapping in terms of features at best and take opposite actions, or affect each others at worst, while trying to optimize your system.

Not to speak of different user interfaces spread in different packages with inconsistent visual feedback (some reporting free resources, other usage/percent, see what I mean ?)

This is the reason why I decided to write this app called "Battery Informer Task Manager" (not the sexiest name around, I know) to integrate in one single and most lightweight package everything I thought I would like to have to manage my system the best, extend my battery life the most (I will show you how later,) know what is using my data plan and ultimately dissect my system to keep control of what is running in there and what is the impact of each hardware and software component. Nothing less, nothing more :>

First of all this app is free (well, Ad-supported, and there is a donationware version if you're supporting developpers,) as my day-job is not Android developer (I'm a telecom engineer.)

So, what do we have in the package ?

A power usage reporting tool

This module tells you everything about hardware components and software packages' power consumption. Including the underlying UNIX platform.

You get power distribution between display, CPU, WiFi & BT, cellular, with the amount of energy shared between each component's states (power spent at different brightness levels by the display, at different frequencies by the CPU, at different receiving power by the radio subsystem, and so on.)

Software-wise, you get the power usage distribution between the different software packages. This is (in my opinion) the most relevant part when you're looking for what is draining your battery so fast (even when your device should be idling.) This is the part where you can see the (infamous) wakelocks that prevents your device to go to deep sleep. This is also here that you'll see network data usage by software packages.

You can go down to single process power usage from here. Select a package (or the OS itself) and get by-process power usage and time spent by the CPU executing that one (I'm pretty sure you'll have the Android window compositor up in the charts :> )

Battery usage reduction tools (what commercial apps call 'energy saver')

Very simple energy saving tactics :

- Turn off Wi-Fi and/or mobile data when you turn off the screen.

- Activate mobile data only when certain apps you choose are running (example: data is off, and the app turn it on as soon as I launch the browser. I switch to the email app, close the browser in the meantime, but data connectivity is kept up since the email client is still running. As soon as the email client ends, mobile data is turned off.)

- Automatically kill a process that goes over a CPU usage limit. You can set this limit for peak usage (the app suddenly uses a lot of CPU but was dormant before) or on average usage. This is set in term of % of CPU power. This feature can use root privileges if your device is rooted and you've enabled it in the app's settings. However be warned that root privileges might kill a foreground application. This is always very surprising (even to me, the developer) and can become very irritating if you're gaming or watching a video. So, I do not recommend it, but it can be fun from time to time :>

- Automatic background tasks cleaner. Set it to run every 5 to 120 minutes, to terminate background tasks and free memory.

All of those are optional, and are not enabled by default. So if you're willing to give the app a try and take advantage of these features, do not forget to go to the settings!

System & task manager

There are two parts in the manager.

Firstly, the system analyzer will present you with aggregated system-wide real-time indicators about your device.

Battery details (including estimated remaining time at present or on average usage rates) and instant current (in mA) solicitation on the power cells. This last value is calculated in case the kernel does not report it correctly, but you don't need to perform "battery calibration" or cycle to get it. It might be a little wrong if you swap the stock device's battery. The battery events are stored, so don't worry if you plug or unplug your device, this won't wipe those data like the standard Android battery gauge does. But you've to clean it yourself from time to time :>

The system analyzer also gives you system CPU and memory usage, along with network usage & cellular reception, all graphed in real-time.

The second part is the task manager itself. Well, this has become a bit more than a simple task manager. Of course you get the list of running processes and associated data with each of those, but I decided yo keep track of dead processes (don't worry you can hide them.)

I did that because I thought it was quite convenient to find out if a now-terminated process has used a lot of CPU or downloaded a lot of information from the network.

In the process list tab, you can terminate one or multiple processes at once, like every task manager around. But if your device is rooted, you can choose to kill the process at the OS layer rather than with the standard Android API. In other terms, root allows you to terminate foreground processes. You can chose if you want to use root privileges or not, this is not related to the fact your device is effectively rooted or not.

When you select a process, you get a screen with real-time CPU and network usage graphs along with numerical data. You also can terminate this single process from here.

What about real-time charts ? You've got them too. Process are sorted real-time by peak or average CPU usage and network data volumes exchanged. Refresh rate is synchronized with the app's service heartbeat and can be adjusted, of course.

At last, you've got a big panic button in the home screen to recycle everything if something in your device is making the CPU heating to the point you can't hold it anymore without taking the risk to burn your hand.

Goodies

- A persistent notification indicating CPU, memory and network usage levels. You can disable it if you want to.

- Two widgets, one for system stats another for power-related values.

Screenshots

We all love screenshots, don't we ?

A few on my site : www(dot)starnode(dot)net/screenshots/

And, most importantly, you get all of these in a 2.6MB only software package :>

I've successfully tested (real hands-on) the app on the following devices :

- Samsung Galaxy S2 GT-I9100 (stock 2.3.x, stock 4.0.x and CM9 ROMS)

- Samsung Galaxy S3 GT-I9300 (stock 4.0.x ROM)

- Google Galaxy Nexus

- Sony Xperia S

- HTC Desire S (2.2 stock ROM)

- HTC Desire HD (2.3 stock ROM)

- Samsung Galaxy Tab 10.1 (AOKP 4.0.x ROM)

- Archos 101G9 Tab (4.0.x stock ROM)

I hope you'll find this useful, and I'm very very very open to feedback. If you need a new feature, do not hesitate to drop me a few words and I'll look into it (donationware users have higher priority ;p)

Please don't get angry if the app crashes or whatever, remember it's free (I know, the ads may be a little annoying, but you get full functionality in the free version!) Instead, send me the crash report when you are proposed to in the Force Close dialog, and I'll make sure to correct the issue for you !

You can find the app in Google Play, just search for "Battery Informer Task Manager"

Cheers & Have fun with Android!