Wenn der Akku Ihres Telefons viel schneller leer ist als üblich und Sie seltsame Dinge bemerken, wie zum Beispiel, dass sich der Bildschirm von selbst einschaltet oder das Telefon ständig zu „denken“ scheint, haben Sie höchstwahrscheinlich ein Problem mit Aktive Wakelocks im HintergrundEs ist keine Hexerei und Ihr Telefon ist auch nicht kaputt: Es sind Apps, die das System daran hindern, sich in den Ruhemodus zu begeben, wenn es das sollte.
Die gute Nachricht ist, dass all dies untersucht und behoben werden kann. Im Laufe dieses Artikels werden wir sehen Was genau sind Wakelocks, wie erkennt man sie auf dem Mobiltelefon und was kann man dagegen tun? Egal, ob Sie ein normaler Nutzer sind oder ein Entwickler, der seine App optimieren und Strafen von Google Play wegen Missbrauchs vermeiden möchte.
Was ist ein Wakelock und warum entlädt er den Akku?
In Android ist ein Wakelock im Grunde genommen Ein Befehl, den eine Anwendung dem System gibt, um zu verhindern, dass es in den Ruhezustand wechselt.Es ist Teil des eigenen Energieverwaltungsdienstes des Betriebssystems und hat einen guten Zweck: bestimmte Aufgaben sollen auch dann weiterlaufen können, wenn der Bildschirm ausgeschaltet wird oder das Gerät in den Energiesparmodus wechselt.
Wenn alles ordnungsgemäß funktioniert, schaltet sich das Mobiltelefon periodisch ein. Tiefschlafmodus, der maximale BatteriesparmodusIn diesem Zustand arbeitet die CPU kaum, und die meisten Prozesse werden beendet oder nur gelegentlich wieder aktiviert. Das Problem tritt auf, wenn eine Anwendung... Es missbraucht seine Wakelock-Berechtigungen und hält die CPU oder den Bildschirm aktiv. viel länger als nötig.
Innerhalb von Wakelocks lassen sich zwei Haupttypen unterscheiden, die sich unterschiedlich auf den Ressourcenverbrauch auswirken:
- Teilweiser WakelockDadurch bleibt die CPU auch bei ausgeschaltetem Bildschirm aktiv. Dies ist beispielsweise nützlich, damit eine App einen Download abschließen oder Daten im Hintergrund verarbeiten kann, ohne vom System beendet zu werden.
- Vollständiger oder bildschirmfüllender Wakelock (Voll-/Bildschirm-Wakelock): zusätzlich zur Aufrechterhaltung der CPU-Aktivität, zwingt den Bildschirm, an zu bleiben oder sich einzuschalten.Der Stromverbrauch ist wesentlich höher, da der Bildschirm zu den Komponenten gehört, die den größten Teil der Batterieleistung verbrauchen.
Ein typisches Beispiel für einen schlecht verwalteten Wakelock wäre eine Anwendung, die aufgrund eines Programmierfehlers Lassen Sie die Kamera oder den Prozessor dauerhaft aktiv. Selbst wenn Sie die Anwendung nicht mehr nutzen. Eine Zeit lang war das Beispiel von Skype auf einigen Nexus-Geräten berüchtigt: Die App ließ Kameraprozesse im Hintergrund laufen, und der Akku entlud sich drastisch, als ob man ständig Videos aufnahm.
Eine App, die einen Wakelock anfordert, ist nicht grundsätzlich schlecht. Tatsächlich gibt es durchaus legitime und nützliche Anwendungsfälle dafür. Zum Beispiel: YouTube lässt Ihren Bildschirm während des Ansehens eines Videos eingeschaltet. Damit es sich nicht mitten in der Wiedergabe ausschaltet. Der Schlüssel liegt darin, dass der Entwickler Die Wakelock-Sperre wird freigegeben, sobald sie nicht mehr benötigt wird. und dass es das Gerät nicht ohne Grund wach hält.
Typische Symptome für problematische Wakelocks
Auch wenn auf den ersten Blick nichts Ungewöhnliches auffällt, lässt das Verhalten des Telefons oft darauf schließen, dass eine App Wakelocks missbraucht. Einige eindeutige Anzeichen sind:
- Der Bildschirm schaltet sich nicht aus, wenn er sollte.Sie haben ein kurzes Timeout eingestellt, aber das Bedienfeld bleibt viel länger an, obwohl Sie es nicht berühren.
- Der Bildschirm schaltet sich von selbst einSie holen Ihr Handy aus der Tasche und stellen fest, dass der Bildschirm eingeschaltet ist oder es sogar von selbst Aktionen ausführt, wie zum Beispiel versehentliche Anrufe.
- Plötzlicher Batterieabfall im LeerlaufSie lassen Ihr Handy mit ausgeschaltetem Bildschirm auf dem Tisch liegen und stellen nach einer Stunde einen unverhältnismäßig starken Rückgang der Akkulaufzeit fest.
- Das Gerät wird auch im Ruhezustand heiß.Die CPU bleibt aufgrund eines teilweisen Wakelocks aktiv, und das Telefon erzeugt auch bei ausgeschaltetem Bildschirm mehr Wärme.
Diese Verhaltensweisen sind in der Regel auf Anwendungen zurückzuführen, die Sie laufen im Hintergrund weiter und zwingen die CPU oder den Bildschirm, aktiv zu bleiben.Es handelt sich dabei nicht unbedingt um bösartige Apps; oft sind es einfach nur schlecht programmierte Apps oder Apps, die die Energiesparrichtlinien der neuesten Android-Versionen nicht richtig beachten.
Wie erkennt Android Wakelocks in Apps (Android Vitals)?

Aus Entwicklersicht bietet Google Tools an, um zu erkennen, ob ihre App Wakelocks zu aggressiv nutzt. Eines der wichtigsten ist Android Vitals, integriert in die Google Play Console, das Leistungs- und Batterieverbrauchsdaten von Millionen realer Geräte sammelt.
Android Vitals geht davon aus, dass eine App Folgendes tut: Übermäßiger Einsatz von partiellen Wakelocks wenn die Summe aller nicht ausgenommenen Wakelocks, die von der App ausgeführt werden, erreicht 2 Stunden oder mehr innerhalb eines 24-Stunden-Zeitraums Im Hintergrund oder innerhalb eines Vordergrunddienstes. Anders ausgedrückt: Wenn Ihre Anwendung die CPU zu lange beansprucht, während der Benutzer sie nicht aktiv nutzt, steigt der Messwert sprunghaft an.
Um eine Bestrafung der angemessenen Nutzung zu vermeiden, Android Vitals Ausgenommen sind bestimmte Wakelocks, die von APIs erzeugt werden, welche eindeutig vom Benutzer initiiert wurden.Beispiele hierfür sind solche im Zusammenhang mit der Audiowiedergabe, dem aktiven Standort oder Aufgaben, die über den JobScheduler geplant werden. Das Kriterium ist, dass ein klarer Nutzen für den Benutzer besteht und dass es keine bessere Möglichkeit gibt, dies ohne Wakelocks zu erreichen.
In der Entwicklerkonsole wird im Panel „Übermäßige partielle Wakelocks“ Folgendes angezeigt: die Namen der Wakelocks, die die meisten Probleme verursachen, die Anzahl der betroffenen Sitzungen und die GesamtdauerWenn in den letzten 28 Tagen mehr als 5 % der App-Sitzungen übermäßig viele partielle Wakelocks aufweisen, kann dies die Sichtbarkeit der App im Google Play Store beeinträchtigen.
Wenn eine App diese Benachrichtigung empfängt, ist der nächste logische Schritt: Ermitteln Sie, welche Teile des Codes diese Wakelocks erzeugen, und korrigieren Sie deren Verwendung.: Ersetzen Sie sie durch modernere APIs, die den Lebenszyklus selbst verwalten, stellen Sie ihre Verwendung ein, wenn sie nicht unbedingt notwendig sind, oder stellen Sie zumindest sicher, dass sie immer rechtzeitig veröffentlicht werden.
Bewährte Vorgehensweisen mit Wakelocks für Entwickler
Für Android-App-Entwickler ist die wichtigste API folgende: PowerManager und seine TeilaktivierungsblöckeEin partieller Wakelock wird normalerweise durch einen Aufruf erreicht. acquire() mit der Marke PARTIAL_WAKE_LOCKoder durch die Verwendung anderer APIs, die intern dasselbe tun.
Das Problem entsteht, wenn die App Vergessen Sie nicht, den Wakelock freizugeben. release()oder es länger aktiv hält als unbedingt nötig. Dadurch kann das Gerät nicht in Energiesparmodi wechseln, was zu Beschwerden der Nutzer über die Akkulaufzeit, schlechten Bewertungen im Google Play Store und, wie wir gesehen haben, negativen Auswirkungen auf wichtige Android-Kennzahlen führt.
Einige grundlegende Empfehlungen für die Programmierung mit Wakelocks, ohne die Akkulaufzeit des Benutzers zu beeinträchtigen:
- Verwenden Sie sie nicht, wenn eine moderne Alternative existiert.Viele Aufgaben, die zuvor direkte Wakelocks erforderten, können jetzt mit WorkManager, JobScheduler, AlarmManager mit Einschränkungen, FCM usw. gelöst werden.
- Den Wakelock so spät wie möglich erlangen und so schnell wie möglich wieder freigeben.Lassen Sie es nicht für die gesamte Lebensdauer eines Dienstes blockiert, wenn Sie es nur für einen bestimmten Vorgang benötigen.
- Berücksichtigen Sie den Status der App.Wenn sich der Benutzer abmeldet, die Hauptanwendung schließt oder bestimmte Funktionen deaktiviert, macht es keinen Sinn, die CPU aktiv zu halten.
- Überwachung auf realen GerätenNach der Änderung des Codes empfiehlt es sich, das Verhalten mit lokalen Wakelock-Debugging-Tools zu überprüfen und regelmäßig wichtige Android-Berichte einzusehen.
In manchen Fällen werden Wakelocks Ihrer Anwendung zugeordnet, obwohl Sie diese nicht explizit erstellt haben. Dies liegt üblicherweise an … Hochrangige APIs, die intern Wakelocks verwenden Um die Funktionalität zu gewährleisten, ist es wichtig zu verstehen, welche Komponente tatsächlich hinter diesen Aktivierungsblöcken steckt. Dies hilft Ihnen bei der Entscheidung, ob Sie die API wechseln oder deren Konfiguration überprüfen sollten.
Wie kann ich als Benutzer Wakelocks auf meinem Mobiltelefon erkennen?
Wenn Sie als normaler Nutzer herausfinden möchten, welche Apps Ihr Smartphone aktiv halten, stehen Ihnen heute mehrere Optionen zur Verfügung. Android bietet zunehmend Möglichkeiten, dies zu überprüfen. Weitere Informationen zur Akkulaufzeit und Hintergrundaktivitätsüberwachung direkt über die Systemeinstellungen, aber mit speziellen Tools oder mit ADB können Sie noch einen Schritt weiter gehen.
Android-Akkueinstellungen verwenden
In den neuesten Android-Versionen ist der erste Anlaufpunkt das Systemmenü für den Akku. Sie finden es unter Einstellungen → Akku. Welche Apps verbrauchen am meisten Akku und wie viel Akku verbrauchen sie im Hintergrund?Obwohl das Wort „Wakelock“ nicht angezeigt wird, hängen diese ungewöhnlich hohen Standby-Stromverbräuche in der Regel mit Wake-up-Sperren zusammen.
Es ist auch möglich Hintergrundnutzung einschränken Bestimmte Apps können direkt von dort aus deaktiviert werden. Dadurch schränkt das System deren Aktivität ein, wenn Sie sie nicht verwenden. reduziert indirekt die Auswirkungen von Wakelocks, die entstehen können.Übermäßige Einschränkungen können jedoch dazu führen, dass einige Apps die Synchronisierung einstellen oder Benachrichtigungen verspätet senden.
Akkuüberwachungs-Apps: GSam und BetterBatteryStats
Obwohl viele der klassischen Werkzeuge verschwunden oder veraltet sind, gibt es immer noch Anwendungen, die Sie zeigen erweiterte Verbrauchsinformationen und Wecker an.Zwei bekannte Namen sind GSam Battery Monitor und BetterBatteryStats.
Mit dem GSam Battery Monitor können Sie unter anderem Folgendes sehen: Welche Apps wecken das Gerät am häufigsten auf? und wie sich der Stromverbrauch auf CPU, Bildschirm, Mobilfunk, WLAN usw. verteilt. BetterBatteryStats, sehr beliebt in der XDA-Community, bietet sehr detaillierte Ansichten davon. Wakelocks, "Alarme" und andere Systemereignisse, die insbesondere auf gerooteten Geräten nützlich sind.
Mithilfe dieser Werkzeuge können Sie beispielsweise feststellen, dass Ein bestimmter Dienst von WhatsApp oder Google Fotos beansprucht die CPU. für Backups, Synchronisierungen oder in der Warteschlange befindliche Aufträge. Diese Informationen ermöglichen es Ihnen dann, Entscheidungen zu treffen: Backup-Einstellungen ändern, bestimmte Optionen deaktivieren oder sogar nach Alternativen suchen.
ADB-Befehl zum Anzeigen aktiver Wakelocks
Wenn Sie keine Apps von Drittanbietern verwenden möchten oder einen technischeren Ansatz bevorzugen, können Sie ADB von Ihrem Computer aus nutzen. Nachdem Sie ADB installiert und das USB-Debugging auf Ihrem Telefon aktiviert haben, können Sie einen Befehl ähnlich dem folgenden ausführen:
adb shell dumpsys power | findstr -i wake_lock
Auf Linux- oder macOS-Systemen, anstatt findstr Es wird häufig verwendet grep um die Ausgabe zu filternDie Ausgabe des Befehls zeigt die aktuell auf dem Gerät aktiven Wakelocks an, deren Namen in der Regel Systemdiensten oder installierten Anwendungen entsprechen.
Diese Liste kann beispielsweise folgende Punkte enthalten: DreamManagerService, WhatsApp SystemJobService oder Google Fotos-Dienste Diese Bezeichnungen beziehen sich auf Hintergrundprozesse. Obwohl sie etwas kryptisch sind, ermöglichen sie es, die ressourcenintensive App zu identifizieren und zu beurteilen, ob es sinnvoll ist, das Gerät so lange aktiv zu lassen.
Wakelock Detector: Die klassische App zum Auffinden von Wakelocks
Jahrelang war eine der beliebtesten Optionen zum Erkennen von Wakelocks unter Android: Wakelock-DetektorDiese Anwendung wurde speziell entwickelt, um aufzulisten, welche Apps das Gerät wie lange im Hintergrund laufen lassen. Obwohl sie nicht mehr weiterentwickelt und für die neuesten Android-Versionen nicht mehr aktualisiert wird, ist es dennoch interessant zu verstehen, was sie bot, da viele ihrer Ideen von anderen Tools übernommen wurden.
Die App wurde für Nutzer entwickelt, die wollten Sehen Sie im Detail, welche Prozesse CPU- und Bildschirm-Wakelocks verwendet haben.Es wurden Statistiken aller seit dem letzten Gerätestart aufgezeichneten Wakelocks angezeigt, wobei diejenigen, die zur selben Anwendung gehören, zur besseren Lesbarkeit in einer erweiterbaren Ansicht gruppiert wurden.
Zu seinen Hauptfunktionen zählten insbesondere folgende:
- CPU- (teilweise) und Bildschirm- (vollständige) Wakelock-StatistikenDadurch können Sie von der Oberseite der Benutzeroberfläche aus zwischen beiden Typen wechseln.
- Sortieren nach Wakelock-Zeit, Ausführungsstatus oder alphabetischwodurch die Apps gefunden wurden, die das Gerät am längsten wach hielten.
- Aktuell laufende Anträge sind rot markiert.auf einen Blick erkennen zu können, was in diesem Moment geschah.
- Anzeige des prozentualen Anteils der Zeit, in der die CPU aktiv oder im Schlafmodus war. seit dem letzten Ladezyklus oder Neustart.
Die empfohlene Verwendung war einfach: Es wurde vorgeschlagen Laden Sie das Telefon auf über 90 % auf und trennen Sie es dann vom Stromnetz oder starten Sie es neu.Lassen Sie den Computer ein bis zwei Stunden normal laufen und öffnen Sie dann Wakelock Detector, um zu überprüfen, welche Apps in der Liste der Wakelock-Zeiten ganz oben stehen. In vielen Fällen waren diese Apps für den hohen Akkuverbrauch im Leerlauf verantwortlich.
Einer der Schwachpunkte des Wakelock-Detektors war, dass Ab Android KitKat war Root-Zugriff erforderlich, um mit allen notwendigen Berechtigungen zu funktionieren.Dies lag an Änderungen in der Darstellung der Akkustatistiken im System. Die Entwickler veröffentlichten eine Lite-Version mit einer alternativen, nicht-root-fähigen Methode, die auf ADB-Befehlen oder einer Chrome-Erweiterung basierte, jedoch die Befolgung einer vorherigen Einrichtungsanleitung erforderte.
Die App erfreute sich in der Community großer Beliebtheit: Sie wurde auf XDA, HowToGeek, LifeHacker, DotTech und anderen Tech-Websites rezensiert, und viele Nutzer verwendeten sie als Nachschlagewerk. um die von Android angebotenen grundlegenden Verbrauchsinformationen zu ergänzenAllerdings ist zu beachten, dass es sich um eine veraltete Version handelt, die von ihren Entwicklern nicht mehr gepflegt wird. Daher liefert sie möglicherweise unvollständige Informationen oder funktioniert auf modernen Mobiltelefonen gar nicht mehr.
Andere Apps und klassische Methoden zur Steuerung von Wakelocks
Neben Wakelock Detector gab und gibt es weitere Tools, die darauf abzielen, Steuern Sie, welche Apps im Hintergrund laufen und wie sie sich auf die Akkulaufzeit auswirken.Eine der bekanntesten war Amplify, mit dem sich das Verhalten von Wakelocks und Systemalarmen auf gerooteten Geräten recht präzise einstellen ließ, obwohl auch diese Software eingestellt wurde.
Eine weitere Kategorie von Apps, die eng mit diesem Thema verwandt sind, sind Akkuspar- und Prozessverwaltungs-Apps, wie zum Beispiel Greenify oder SD MaidDiese Funktionen, die insbesondere auf älteren Geräten nützlich waren, um nicht deinstallierbare Anwendungen – vor allem Bloatware oder vorinstallierte Apps – in den Ruhezustand zu versetzen oder einzufrieren, reduzierten die Wahrscheinlichkeit, dass diese Anwendungen zu dauerhaften Wakelocks führten, drastisch. Indem sie deren Hintergrundaktivität unterbanden, verringerten sie auch die Möglichkeit, dass diese Anwendungen dauerhafte Wakelocks verursachten.
Innerhalb dieses Ökosystems erschien es auch Wakelock-Detektor – Batterie sparenEine Version, die sich darauf konzentrierte, aufzuzeigen, welche Dienste oder Prozesse den meisten Energieverbrauch verursachten. Ihr Ansatz war einfacher: Es listete die Systemprozesse und ihren jeweiligen Verbrauch auf.Dies galt insbesondere aufgrund häufiger Internetnutzung und Hintergrundaktivität. So konnte der Nutzer sofort erkennen, ob Gmail, WhatsApp oder eine andere App zu viele Ressourcen verbrauchte und sie gegebenenfalls vorübergehend schließen, wenn er sie nicht benötigte.
In diesen Fällen war die Philosophie hinter dem Werkzeug klar: Die Informationen werden angezeigt, und der Benutzer entscheidet dann, was zu tun ist., sei es durch das erzwungene Beenden einer Anwendung, das Einschränken ihrer Synchronisierung oder einfach durch deren Deinstallation, falls sie nicht unbedingt erforderlich war.
Was tun, wenn Sie Wakelocks feststellen, die Ihren Akku entladen?
Sobald Sie die Apps identifiziert haben, die Ihr Smartphone aktiv halten, ist es Zeit, Entscheidungen zu treffen. Die effektivste Lösung ist meist auch die einfachste: Problematische Anwendungen deinstallieren oder deaktivierensolange sie nicht für Ihr tägliches Leben unerlässlich sind.
Falls Sie die Apps nicht deinstallieren können oder wollen, können Sie die Optionen unter Einstellungen → Anwendungen → nutzen. Dort finden Sie die entsprechende Option. Beschränken Sie die Hintergrundaktivität, entfernen Sie unnötige Berechtigungen oder verhindern Sie den automatischen Start.Diese Maßnahmen reichen in der Regel aus, um das Verhalten vieler Apps zu zähmen, ohne sie löschen zu müssen.
Bei älteren Geräten oder solchen mit umfangreichen Anpassungsebenen kann der Einsatz von Tools wie diesen hilfreich sein. Greenify versetzt Apps, die Sie kaum nutzen, die aber ständig aufwachen, in den Ruhezustand.In einigen fortgeschrittenen Fällen und stets mit großer Sorgfalt ist es möglich, Systemanwendungen einzufrieren, von denen man mit Sicherheit weiß, dass sie unnötig sind. Dies fällt jedoch bereits in den Bereich von Benutzern mit Root-Zugriff und mehr technischem Wissen.
Natürlich ist es wichtig, im Hinterkopf zu behalten, dass übermäßige Einschränkung der Aktivitäten von Messaging-Apps, E-Mail-Diensten oder Datensicherungsdiensten Dies kann dazu führen, dass Sie Benachrichtigungen verpassen, die automatische Synchronisierung ausfällt oder es bei bestimmten Aufgaben zu Verzögerungen kommt. Es geht darum, ein vernünftiges Gleichgewicht zwischen Akkulaufzeit und Funktionalität zu finden.
Letztendlich ermöglicht das Verständnis von Wakelocks und dem Verhalten Ihrer Apps eine deutlich bessere Kontrolle über den Akku Ihres Smartphones. Indem Sie die Apps identifizieren, die übermäßig viel CPU-Leistung oder Bildschirmaktivität verursachen, indem sie ihre Einstellungen anpassen, ihre Hintergrundaktivität einschränken oder sie durch besser optimierte Alternativen ersetzen.Sie können die tägliche Akkulaufzeit Ihres Geräts deutlich verlängern und diese unerklärlichen und so frustrierenden Akkuentladungen vermeiden.