Even if you don’t see Google Play Services in your app drawer, there is a good chance you’re still familiar with the name. Play Services is the reason for a number of crashes on Android devices often, but it is also known to be a battery hog. It is indeed a core system app that’s responsible for almost every smart thing your smartphone can do. Therefore a little extra battery usage is in the cards. But, if you’ve been to the right internet forums, you’d see multiple user accounts of excessive battery drain by the app.
One of the reasons for this could be your device’s software. It’s possible that the custom ROM you installed hasn’t been properly optimized. This can also be said about the original firmware that the device OEM provides, but that’s not the case most of the times. The infamous Google Play Services battery drain is because Google has exempted Play Services from Android’s biggest battery saving feature, that is the Doze mode. You can see it listed in the Not optimized list under Battery Optimization. It has been from the beginning but there isn’t anything you can do about it.
Not unless you have a rooted device running the Magisk systemless framework. That is because developer Otniel Yoreiza has now created a new Magisk Module which will allow you to enable battery optimization for Google Play Services. This means that when your device goes into doze mode, Google Play Services will too. The battery sucking app will enter a deep sleep state or a “shallow” hibernation state. Quite like every other app on your phone does. The potential for battery savings here is significant. But it also depends on just how much battery drain is caused by Play Services on your device in the first place.
But things are not all flowery and this does come with a side effect. Since Play Services would not be functioning in the background at all times, the “services” might be delayed until the app comes out of the doze mode. This might be especially noticeable with the GCM (Google Cloud Messaging) Service. Apps that rely on GCM, such as Gmail or Hangouts, might be affected with delayed notifications. But this shouldn’t be a problem if you just white-list these apps from Battery optimization. And then hope that they don’t suck your battery as much as Play Services was.
Other stuff such as calls, and apps that use their own push notification systems like WhatsApp, Telegram, SMS apps etc. won’t be affected. Nevertheless, it is better that you know the feats and caveat before diving headfirst into anything. Now that you do, it is time to dive head first into this thing. Keep in mind you need a rooted Android device with Magisk up and running already. If you don’t have that, you can refer to our complete guide on what Magisk is and how you can install it on your phone.
Download : EnableDozeforGMS Magisk module (.zip)
Fix Google Play Services battery drain
- The first step is to, of course, download the Magisk module that we were talking about. But Yoreiza’s module isn’t yet available on the Magisk repo at the time of writing this article. So you’ll have to download it separately from the download link above.
- Now open your Magisk Manager app and go to the Modules section.
- Tap on the floating action button at the bottom and select the EnableDozeforGMS zip that you just downloaded.
- The module will automatically be installed, just tap Reboot on the popup that appears next.
When your device is up and running again, the Google Play Services should already be pushed under the list of optimized apps in Battery optimization. But just to be on the safe side, go to Settings > Battery and tap on the three-dot overflow menu in the top right. Select Battery optimization and you shouldn’t see Google Play Services in the Not optimized list anymore.
Switch to All apps and scroll down to Google Play services and tap on it. Select Optimize if it isn’t already selected. Furthermore, you can put any apps you would like in the Not optimized section, that is white-list them. If you really need those Hangouts notifications timely that is. Just tap on the app listing and select Don’t optimize.