With the Android N Developer Preview out in the wild and available for anyone to flash to their compatible Nexus device, one of the new changes that was noticed was the improvements made to Doze Mode, a feature initially introduced last year during the dev preview for Android M, now known as Android 6.0 Marshmallow. Doze Mode originally would let users retain a little bit more battery life if the phone stayed stationary while the screen was asleep. With Doze Mode in Android N, the feature will actually kick in when the screen is asleep whether the device is stationary or not which is a pretty big improvement, but that’s not all there is to it.
According to the details on the developer website for the Android N developer preview, there are actually two stages of the system activity restrictions that are applied by Doze Mode as displayed in the images below. Not only are there two stages of system activity restrictions, but Doze Mode also only kicks in after the screen has been off for a specific amount of time and it has to be running on battery power, so while it does trigger whether the phone is stationary or not, the screen will still have to be asleep for a little while before Doze actually turns on as it won’t be immediate, and plugging in the device will disable Doze Mode on the spot.
Once a user turns off their display on a device running on Android N and it’s asleep for a certain period of time, Doze Mode will enter the first phase of system activity restrictions and disable network access for applications that need it, as well as make sure jobs and syncs are deferred. After Doze Mode reaches the second phase, it will also block wakelocks, alarms, GPS, and WiFi scans to further improve the battery longevity for the user. As one would expect, Doze Mode will be disabled once the screen is turned on or once a user plugs in the device. In addition to these new details for Doze Mode, Project Svelte also gets a few key changes, more specifically Google is removing the Connectivity_Action, New_Picture, and New_Video broadcasts which would cause any apps requesting to be notified by these broadcasts to wake, thus resulting in draining more battery power.