Google has released the Compatibility Definition Document for Android Marshmallow and there are a lot of important elements to it for phone OEMs. For those who may not be familiar with it, the guide serves as a roadmap of what a device most possess and do in order to be certified by Google as being compatible with Android Marshmallow. These guides are not new as Google publishes on with each release of Android. While it is a bit of a technical read, it is still a good read as it will help you understand what a device must have and do in order to get Google’s blessing.
A key tidbit in the Compatibility Definition Document for Android Marshmallow is section 8.3 on Power Saving Modes. Effectively the rules are simple: OEMs cannot alter or hide the new Doze feature in Marshmallow. Why is this important? Doze could well be the killer feature of Android Marshmallow and it has proven to save a huge amount of battery life when your device sits idle. By preventing OEMs from altering how Doze works, it means everyone who upgrades to Marshmallow will see the benefits.
And that is a very good thing.
From the Compatibility Definition Document, here is section 8.3 on Power Saving Modes
All apps exempted from App Standby and/or Doze mode MUST be made visible to the end user. Further, the triggering, maintenance, wakeup algorithms and the use of Global system settings of these power-saving modes MUST not deviate from the Android Open Source Project.
The emphasis on MUST is from Google, not me. They are very clear on what they want to happen here on App Standby and Doze. Effectively it is “don’t mess with it”.
Today if you go into Settings>Battery then use the menu to go to Battery Optimization, you will see the apps that have not been optimized for App Standby and Doze. Right now on my Nexus 6 is it just Android Services, Google Play Services and Project Fi that are exempt (not optimized) but other apps could join the list as developers deem their apps as not being Doze worthy. Google has a separate process for that side of the house but the key for our discussion here is that Google is telling OEMs that they can’t hide this information from end users. They have to show you which apps are not optimized including their own.
Equally as important, Google is telling OEMs that their implementation of Android Marshmallow cannot alter or disable in any way App Standby or Doze. So effectively, the way it works on my Nexus 6 and Nexus 7 is the exact same way it should work on your Samsung, HTC or LG device(s). It is a must, not an option.