Google's Developer conference is now over, but the Mountain View giant had lots to say during Google I/O. The company has once again introduced the new version of Android, and alongside it they talked about various other things, like driverless cars, Project Ara, Project Loon, Android Pay, etc. Google I/O is always a great source of exciting stuff for those people who love / appreciate technology. Anyhow, let's focus on Google's announcement of Android M and its features once again. We've covered the Google I/O extensively, and same can be said about the newest version of Google's operating system, Android M.
The Android M looks very much like Lollipop, but brings a slew of new features along with it. Google has focused a lot on optimizing the OS in order to fix the issues Lollipop had, and of course, introduced some new features, as always. 'Doze' can be considered both a feature, and a general improvement of the OS. Android is, unfortunately, well-known to be a battery hog when the device is turned on, but not being used. Well, Google has decided to fix that, or at least try to do so, by introducing 'Doze'.
This new feature actually puts applications to sleep while you're not using your device (utilizes the motion sensor) in order to preserve battery life. During the company's keynote at Google I/O, it was said that the company tested this feature extensively on Nexus 9, and that the device loaded with Android M Developer Preview managed to do a lot better than the device loaded with Lollipop. Well, we didn't exactly know how this feature works, until now that is.
Doze actually activates when the device is sitting still (on your desk for example) and is not charging. The device will, of course, periodically wake up to sync and what not, but it will mostly be asleep, preserving battery. Google has explained what actually happens when Doze activates. The network access is disabled, unless the app has a high priority Google Cloud Messaging status, while wake locks are ignored. Wi-Fi scans are also not performed, while syncs and jobs for your sync adapter and 'JobScheduler' are not permitted to run. The Alarm scheduled with the 'AlarmManager' class are disabled, thought he ones set with the 'setAlarmClock()' method and 'AlarmManager . setAndAllowWhileIdle()' are allowed to run.
This might sound a bit confusing considering it's a lot of developer talk we're covering here, but it essentially means that Developers will have control over the function. They'll be able to set some push messages as 'high-priority', which will let the device wake up and notify you that the new notification arrived. The rogue apps should be killed of thanks to Doze considering they won't be able to throw a party in the background and drain your battery while the device is in Doze. It will certainly be interesting to see how will this work in the end.