I’ve spent a lot of time chasing mysterious battery drains on Pixel phones, and one of the common culprits I keep running into is background wake locks — apps holding the CPU or radio awake when you don't expect them to. Wake locks are a normal part of how Android works, but when misused by buggy apps they can turn a full day into a frantic search for a charger. Below I walk through how I find the offender, what tools I use (no root required for most steps), and practical fixes that actually change daily battery life.
What is a wake lock and why it matters on Pixel phones
A wake lock is basically a request by an app to keep parts of the phone awake — the CPU, the screen, or the network radio — so it can finish a task. That’s okay occasionally: for example, a navigation app may need to keep the CPU awake while calculating a route. The problem is when an app requests wake locks too often, or never releases them properly. That background activity prevents the phone from entering low-power Doze modes and dramatically increases battery usage.
Pixel phones do a lot right with Adaptive Battery and Doze, but they can’t fully protect you from badly-behaved apps. The steps below combine quick fixes you can do from the Settings app with slightly deeper diagnostics using adb to pinpoint the problem app.
Quick fixes I try first (no technical skills required)
Open Settings > Battery > Battery usage to see which apps have used the most battery in the last 24 hours. If one app is unusually high, long-press it to reach App info.From the app’s App info card tap Battery and then Background restriction or Optimize. For many apps I toggle Background activity off — this usually stops the wake-lock behaviour without breaking basic app function.Enable Adaptive Battery (Settings > Battery). It learns which apps you actually use and limits background resources for the rest.Turn on Battery Saver when you need to stretch charge; this won’t fix the root cause but reduces background CPU and network use.Check for app updates in the Play Store and for system updates in Settings > System > System update — many wake-lock bugs are fixed by updates.These steps fix most cases for me within minutes. If not, I dig deeper.
Deeper diagnosis (using adb — no root needed)
When I can’t spot the problem in Battery usage, I collect battery stats with adb. This gives raw data about wakelocks, kernel wakelocks, and app behavior. You will need a PC and a USB cable. I’ll keep commands simple.
Steps I use:
Enable Developer Options (Settings > About phone > tap Build number seven times) and then enable USB debugging.Install adb on your PC (Platform Tools from Google). Connect the phone and accept the debug prompt.Reset the batterystats baseline so you’re collecting fresh data:adb shell dumpsys batterystats --resetUse the phone normally for the period when you see the drain (a few hours or during the problem scenario).Pull the detailed batterystats:adb shell dumpsys batterystats > batterystats.txtOptionally, use adb shell dumpsys power to see wakelock state and adb shell dumpsys battery for device battery health info.I then search batterystats.txt for suspicious patterns: long-running wake_lock entries or repeated partial wake locks tied to a package name. If a single package appears repeatedly under wake_lock or has high CPU/network times, you’ve found a likely culprit.
Commands cheat sheet
| Command | What it does |
| adb shell dumpsys batterystats --reset | Clears historic battery stats so you can collect fresh data |
| adb shell dumpsys batterystats > batterystats.txt | Exports current battery stats to a file for inspection |
| adb shell dumpsys power | Shows current wakelock state and device sleep status |
| adb shell dumpsys battery | Reports battery health, level, and charging state |
What to do when you identify a problematic app
Once you’ve identified an app that holds excessive wake locks, here are practical next steps I use depending on the type of app and how much I need it:
Force stop it and observe: in App info tap Force stop. If battery behavior improves, the app is the problem.Restrict background activity: App info > Battery > Background restriction. Some apps continue to function fine; others may lose notifications. Decide what trade-off you prefer.Enable Battery optimization for that app: Settings > Apps > Special app access > Battery optimization and choose Optimize for the misbehaving app.Uninstall and try a lighter alternative. Social networks (Facebook, Instagram), some messaging clients, or badly optimized alarm/backup apps are frequent offenders. For instance, using Facebook Lite or the web version can drastically reduce wake locks.Clear cache or app data from App info; if the app is corrupted an install reset sometimes helps. If persistent, uninstall and reinstall to get a clean copy.If it’s a system app or something you can’t uninstall, check for an update or contact the developer. In some cases I disable the app or remove updates to revert to a less aggressive version.Other sources of background wake locks
Not all wake locks come from apps you install. I’ve seen the following cause heavy drain:
Widgets and live wallpapers — they run periodic tasks. Remove them and see if the drain stops.Always-on display settings or aggressive lock-screen routines. Try turning those off temporarily.Bluetooth devices that frequently reconnect or keep the radio awake (car audio, fitness trackers). Disconnect or forget them and test.Poorly behaving VPNs or private DNS apps that maintain constant connections.When to escalate: tools and last resorts
If adb points to kernel wakelocks or to the Android system process itself, it’s trickier. I’ll try these next:
Factory reset after backing up — I only do this when I’ve exhausted other options. It’s a blunt but often effective fix for persistent system-level wakelocks.Try a safe mode boot (hold power, long-press Power off and tap OK when the Safe Mode prompt appears). If the drain stops in safe mode, a third-party app is almost certainly the cause.Consider third-party apps that help manage wake locks, like Greenify (works best with some permissions or in ADB-assisted mode). Use these cautiously — they can break expected app behavior.If you’re comfortable with deeper analysis, export batterystats and inspect with Battery Historian (a web tool from Google). It gives a timeline view of wakelocks — very useful if you want to be thorough.Fixing wake locks is mostly detective work: observe, isolate, and apply the minimal restriction that fixes battery life without breaking an app you care about. Over time I’ve learned that updating apps, using Adaptive Battery, and being willing to restrict or replace a few aggressive apps gets my Pixel through the day much more reliably than relying on battery-safe features alone.