The next version of Android introduces battery-saving features for developers and users alike
You can never have enough battery power. Battery life is one of the main areas of smartphone performance in which there's still a huge amount of room for improvement. Batteries in the leading Android phones are getting bigger all the time, and that's one way to make things better. But the Android L developer preview also brings software improvements aimed to boost longevity, including new battery stats and a battery-saving mode for users, and tools to help developers make more battery-friendly apps.
Let's take a closer look.
First, let's look at the user-facing changes to power management in Android L. Under Settings > Battery you'll now see a projection of how long your battery has left, based on your recent usage. It'll appear after a few minutes of use, as the system gets a feel for how you're using your phone or tablet.
Next is battery saver mode, long included in manufacturer-customized Android phones, but new to the stock OS. It's found in Settings > Battery, under the overflow menu at the top right corner of the screen. Battery saver can be turned on automatically when your battery reaches a certain level, or enabled manually at any time. As we've seen in customized phones from Samsung, Sony, HTC, LG and others, this mode reduces the backlight and clocks down the CPU speed to save power.
This isn't an "ultra" or "extreme" battery saving mode, though, and as such all your apps are still available when it's turned on. (When it's enabled you'll see a persistent notification in your notification shade.)
Google's "Project Volta" also introduces a couple of important developer-focused power features, and these should eventually allow devs to create more battery-friendly apps.
The first is a power consumption analysis tool called Battery Historian, a new part of the Android SDK. Similar to the way developers can analyse graphical performance with the "Profile GPU rendering" tool, Battery Historian lets devs see detailed visualizations of the impact their app's actions have on a particular device's battery life.
The new Job Scheduler in Android L is another important tool for developers that can help apps avoid waking up the device unnecessarily. Using this feature, programmers can set certain preconditions and deadlines for performing battery-intensive tasks. For instance, you might want to pull down a large amount of data, but only when an unmetered Wifi connection is available. Or you might want send data to a server within a deadline of 15 minutes. Setting deadlines allows the Job Scheduler to intelligently process job requests from various apps, and then wake the phone up and process several at once when it makes sense. By doing things this way, you avoid waking the OS up over and over again for each background task.
This is roughly comparable to the "queue background data" feature found on some Sony phones, which is designed to avoid unnecessary wake-ups by queuing up background data requests and processing them at set intervals. However Android L's Job Scheduler is a step beyond this, as devs themselves are allowed to set specific conditions and deadlines for their jobs.
Remember that what we're seeing in the current Android L developer preview isn't final, and it may well change between now and L's final release. It's a promising start, though, and the benefits should be seen across all Android L devices from this fall.