Battery drain is a major pain point for Android users, though that promises to change thanks to Android Pie's new Adaptive Battery feature. But Google hasn't said much about the inner workings of this feature, only publicly stating that it uses AI to boost battery life. So we dug in to find out what's really going on under the hood.
Out of all the cool new features in Android 9.0, this is the one I'm most excited about. The feature itself sounds interesting when you check it out in Pie's new battery menu, promising to limit battery use for infrequently used apps by using AI to learn how you use said apps. But how exactly does that work? Let's dive in.
First announced at this year's Google I/O, Adaptive Battery is one of a handful of new Android features to make use of Alphabet's DeepMind AI technology. At the event, Dave Burke, Android's VP of Engineering, claimed the feature achieves up to a 30% reduction in CPU wake-up calls by disabling unnecessary processes.
As it relies on machine learning, Adaptive Battery will improve over time as it monitors apps to determine your typical use patterns. What it's really looking for is a list of apps that you don't often use. The system will put these infrequently used apps into a low-power state — if you remember Android Marshmallow's App Standby feature that would "hibernate" apps you didn't use, it's a lot like that. Except now, the system has varying levels of hibernation that it can put your apps into based on your usage.
The Android Developer website provides detailed information about how Adaptive Battery works and what's going on under the hood. Though not explicitly stated, in the power management section, it's revealed that Adaptive Battery serves as a frontend for the new App Standby Buckets feature, which aims to allocate system resources according to the applications that need them the most.
In a nutshell, when the Adaptive Battery AI determines how you use a certain app, the app is placed into one of five App Standby Buckets (or "Priority Buckets"). Each bucket has varying degrees of limitations in terms of what device resources the apps in it can use. This process not only conserves CPU usage, but also reduces the transmission of background data — two of the biggest culprits when it comes to phantom power drain.
Below are the buckets and the limitations placed on apps within them.
- Active: If you're currently using the app, the app has launched an activity, is running a foreground process, or you tap on a notification from the app, the system does not place any restrictions on the app.
- Working set: This bucket is for apps you use frequently, but are not currently active. For example, a social media app that is launched most days would fall into this category. In these cases, the system imposes mild restrictions on the app's ability to run jobs and trigger alarms.
- Frequent: If you used the app regularly, but not necessarily every day, it's placed into this bucket. For example, a workout-tracking app that's run in the gym might be here. Compared to working set apps, the system imposes stronger restrictions on these apps' ability to run jobs and trigger alarms, and also imposes a cap on high-priority FCM messages (typically notifications). If high-priority FCM messages are capped, any messages after the cap is reached are treated as normal-priority messages.
- Rare: This bucket is for apps that you rarely use. For example, a hotel app that is only run while staying at a hotel might be in the rare bucket. For these, the system limits the apps' ability to connect to the internet and imposes strict restrictions on its ability to run jobs, trigger alarms, and receive high-priority FCM messages. If network access is restricted, the app is granted a window of 10 minutes to use the network at a specified interval.
- Never: If you've never used an app, it gets tossed in this bucket. The system imposes severe restrictions on the application, effectively hibernating it in the same way Marshmallow's App Standby feature would.
Apps can be dynamically assigned and reassigned to buckets as needed, so it's a lot more fluid than the old App Standby feature, which would semi-permanently place infrequently used apps into an equivalent of the "Rare" bucket until you launched them again. In theory, the more you use your phone, the more power-efficient it should become.
The power restrictions listed above are only active if your phone is running on its battery — no restrictions are in place while charging. This table details the various restrictions which are imposed once an application is placed in a priority group, including limiting active jobs to running at set intervals ranging between 2–24 hours, deferring alarms (as in wakelocks, not alarm clocks) by up to 24 hours, restricting network access for rarely used apps, and capping high priority FCM notifications.
The good news is that Adaptive Battery requires no user intervention. It's enabled by default and can be toggled within the Settings menu by selecting "Battery" and tapping "Adaptive Battery."
If you're interested, you can see which App Standby Bucket the Adaptive Battery AI has placed each of your apps into by unlocking the hidden Developer Options menu. Once unlocked, open the menu and scroll down to the Apps section and select "Standby Apps."
While the system automatically assigns apps to standby buckets, you can choose a specific priority group if preferred — you may wish to do this if you want to impose power restrictions on an overly intrusive app, for example. So from the above menu, simply tap on app and you'll have the option to manually assign the application as Active, Working Set, Frequent, or Rare.
Finally, you should know that if you disable Adaptive Battery in the main Battery menu, it appears that all of the machine learning regarding your app usage is reset. We don't recommend this, but to test this yourself, you can disable Adaptive Battery, then head back to the "Standby apps" menu in Developer Options, and you'll see that all of the apps have defaulted back to the Active bucket.
Coupled with Android Pie's other power management features, users are reporting some remarkable battery life improvements since enabling Adaptive Battery. As someone who prioritizes battery capacity above all else, I'm looking forward to joining the club ... as I have only just started using Adaptive Battery on my Pie-updated Google Pixel, it's too early to say if there's been any marked improvement.
As battery battery capacity is often the kind of thing people only pay attention to if it's discharging at an abnormal rate, it's possible you'll never notice Adaptive Battery in action, but that's half the point — it does its job silently in the background, meaning less time spent worrying about how you use your phone and more time actually using it.