One big problem I have with Android is the often times uncontrollable battery drain. For one reason or another, my wife's iPhone always last longer than my Android, even when she's navigating with GPS while we're on vacation and I'm just using my phone for photos.
While I always enjoy long battery life on a freshly installed version of Android, this makes me believe that many of the apps on the Android ecosystem are poorly programmed causing excessive battery drain. Whether the app is tapping into an Android feature or is always polling home for updates, every action causes battery drain. If occasionally reinstalling the OS is your cup of tea, then go for it. But I don't have time to re-installing everything.
What makes matters worse is the Android OS doesn't have a very accurate way to determine where battery usage is going. According to their battery stats on Nougat on my Nexus 6P, the Android OS, Android System and Google Play Services are always consistently above 10% (even above the screen usage). Unfortunately, the apps are all far less, even though I just spent an hour playing an Android game. It just doesn't make any sense!
Everyone has different apps installed, but I recommend keeping apps down to only the ones you need. An app can always be easily re-installed if you decide at a later time you still need the app. By removing a few apps at a time, you can begin to narrow down poorly performing apps or ones that always have services running (more likely to be using more battery). Apps that present you information when you don't request them are probably calling home for these updates (such as shopping apps, news apps, finance apps). If there isn't a setting to control this, it may be polling more than you want.
Apps that are free, but full of ads, can also be a bigger battery drain because the application (hopefully only when running) needs to dedicate some CPU and bandwidth to downloading and showing you ads, whether they're simple banner ads or video ads between screens. All these aspects contribute to lower battery life.
Lastly, I want to warn against installing apps claiming to be Battery Savers/Battery Doctor. Though they are often times fairly good at closing apps, what is starting to become more obvious is that the apps start themselves back up. This constant battle of closing the app and having the app re-initialize itself is additional battery drain.
And in generally, keeping various radios (such as Bluetooth or WiFi) off when you're not using them is generally good practice. If you don't want to manually switch them off, you can try Tasker or other apps that can follows rules to turn off radios. In general, I use the "Ok Google" voice command to turn on Bluetooth when I need it, generally when I'm driving. Tasker automatically turns off the Bluetooth radio when it's not connected for more than 3 minutes. Easy, automatic, and many Tasker rules can now be found with a simple Google search.
Removed Android Apps
- CNBC App - In an attempt to find a relevant morning stock market app that supported Chromecast (which I had recently gotten for my home office), I download CNBC. Unfortunately, it did not support Chromecast and this CNBC Android app has a battery draining service that continuously runs in the background.
- ES File Explorer - As part of the instructions to get KODI working with Chromecast via LocalCast, I had to install ES File Explorer. Now that the KODI has been configured, I haven't really needed it. It had a 'File Watching' service that continuously ran that could not be disabled, so I deleted the app.
Apps I Saved
- Android Auto - Because I always wanted an easy to use app for while driving, I downloaded the Android Auto app. Out of the box, it had a service that ran at all times, but the service turned off once I removed Android Auto from the "Notification Access" List. The app requires it because it can show your notifications via the app. If the services was active only when Android Auto was active, I would definitely put it back on the Notification Access list, and probably use the app more often.
- Google VR Services - Similar to the Android Auto app, removing it from the "Notification Access" removed it from the list of always running services. I'm fine with this because it doesn't have (or plan on purchasing) any VR devices for my Nexus 6P. I also disabled it in the "VR helper services"
How to Access Notification Access
- Pull down Notification Section
- Select Gear Icon in top right of the notification section.
- Select Apps
- Select the Gear Icon in the top right of the App menu.
- Select Special Access (under Advanced)
- Click Notification Access