Übermäßige Teil-Wakelocks (Beta)

Teilweise Sperren für das Aufwecken sind ein Mechanismus in der PowerManager API, mit dem Entwickler die CPU laufen lassen können, nachdem das Display eines Geräts ausgeschaltet wurde, sei es aufgrund einer Systemzeitüberschreitung oder weil der Nutzer die Ein-/Aus-Taste gedrückt hat. Ihre App kann eine teilweise Aktivierungssperre erwerben, indem Sie acquire() mit dem Flag PARTIAL_WAKE_LOCK aufrufen oder andere APIs verwenden, die Aktivierungssperren erwerben. Wenn Sie partielle Wakelocks übermäßig verwenden, wird der Akku des Geräts entladen, da es nicht in einen niedrigeren Energiesparmodus wechseln kann. Teilweise Sperren sollten nur bei Bedarf verwendet und sobald nicht mehr erforderlich aufgehoben werden.

Wenn Ihre App zu viele partielle Wakelocks verwendet, können Sie anhand der Anleitung auf dieser Seite das Problem diagnostizieren und beheben.

Ihr Feedback ist wichtig, um unsere Dokumentation zu verbessern. Bitte senden Sie uns Ihr Feedback über den folgenden Link:

Feedback geben

Problem erkennen

Mit Android Vitals können Sie herausfinden, ob Ihre App zu viele teilweise Wakelocks verwendet.

Android Vitals

Android Vitals kann Ihnen helfen, die Leistung Ihrer App zu verbessern, indem Sie über die Play Console benachrichtigt werden, wenn Ihre App zu viele partielle Wakelocks verwendet.

In Android Vitals wird die Verwendung von Teil-Wakelocks als übermäßig eingestuft, wenn alle Teil-Wakelocks zusammengenommen innerhalb eines Zeitraums von 24 Stunden mindestens 3 Stunden lang ausgeführt werden.

Android Vitals erfasst die Zeit nur, wenn die Wakelock gehalten wird, während die App im Hintergrund ausgeführt wird und keinen Dienst im Vordergrund hat.

Android Vitals bietet einige Ausnahmen für die Verwendung von partiellen Wakelocks in Szenarien, in denen der partielle Wakelock einen klaren Vorteil für Nutzer bietet und es keine bessere Möglichkeit gibt, dieses Ergebnis ohne partiellen Wakelock zu erzielen. In diesen Fällen wird die Zeit der teilweisen Aktivierungssperre in Android Vitals möglicherweise nicht auf das Limit von drei Stunden angerechnet. Wenn eine App beispielsweise Audio für den Nutzer abspielt, ist es von Vorteil, das Gerät eingeschaltet zu lassen, da es sonst nicht möglich ist, Audio abzuspielen. In diesem Fall wird die Zeit des teilweisen Wakelocks nicht auf die Android Vitals angerechnet.

Wenn über einen Zeitraum von 28 Tagen in mehr als 5% der App-Sitzungen auf allen Geräten zu viele partielle Sperren auftreten, kann sich das auf die Sichtbarkeit Ihrer App bei Google Play auswirken, sobald der Messwert die Betaphase verlässt.

Wenn Sie festgestellt haben, dass Ihre App zu viele partielle Wakelocks hat, besteht Ihr nächster Schritt darin, das Problem zu beheben.

Problem beheben

Da Aktivierungssperren den Akku des Geräts belasten können, sollten Sie sie nicht verwenden, wenn es eine Alternative gibt. In der Dokumentation Die richtige API auswählen, um das Gerät aktiv zu halten finden Sie Informationen dazu, wie Sie die beste Lösung für Ihre App finden.

Wenn Sie einen Wakelock verwenden müssen, folgen Sie den Best Practices für Wakelocks, damit die Geräteeffizienz nicht beeinträchtigt wird. Achten Sie insbesondere darauf, dass jedes von Ihnen erworbene Gerät entsperrt ist, und heben Sie die Sperre so schnell wie möglich auf.

Nachdem Sie das Problem im Code behoben haben, können Sie die Korrekturen mithilfe von lokalen Wakelock-Debugging-Tools überprüfen.

Siehe auch