The biggest changes enabling the battery saving features embedded in Android P are under-the-hood, according to two Android engineers who recently opened up on the matter. More directly, Benjamin Poiesz and Tim Murray – a group product manager for the Android Framework and senior staff software engineer, respectively – say that chipset management is central to the improvements to be seen in the upcoming firmware update. However, that extends to other issues being solved with the new version of Android such as how the system handles "wake ups and wake locks." While A.I. is being incorporated to help manage battery life from a user-perspective via the new Adaptive Battery features, those are playing a big role in one of the biggest improvements being delivered with Android P.
To begin with, Android P will be much more power-savvy because so many manufacturers have chosen to utilize asymmetrical chipsets. For example, a standard octa-core SoC now contains four cores that are clocked at a higher rate and four more that are clocked lower and energy-efficient. While not every developer on the platform will take advantage of those cores appropriately, using smaller cores for less intensive or background tasks, Android P will. Prior to Android P system level apps were only relegated to the low-power cores for background processes and apps. The engineers noticed that non-critical Android system-level software was running on the larger process cores despite even when the screen was turned off. With the update, that will be changed, using the differing cores more optimally.
Moreover, the company is changing how its own applications wake up or activate a wake lock on the CPUs. For clarity, those processes happen when the CPU is woken up during a sleep state in order to complete a process. Longer processes are locked on until completion. The engineers say that there is minimal difference in CPU usage for a single application as compared to more than one or two running in terms of battery use. There is, however, a big difference between one application waking up the CPU and the power drain when the component is in a sleep state. So the company is actively working to take advantage of wake ups and wake locks to optimize when that happens for system apps. In short, when critical system applications require operations on the CPU, less critical and other system processes will use the allotted time to perform their own operations. Other operations will be delayed until the user turns on the device and the CPU is awake, where possible.