Optimieren Sie den Akkuverbrau... Notiz

Optimieren Sie den Akkuverbrauch Ihrer App mit der Android Vitals Wake-Lock-Metrik

Akkulaufzeit ist entscheidend für die Benutzererfahrung, und Wake Locks haben erhebliche Auswirkungen darauf. Übermäßige Nutzung von Partial Wake Locks ist jetzt ein wichtiger Leistungsindikator in den Android Vitals der Google Play Console. Diese Metrik kennzeichnet Apps, die nicht ausgenommene Wake Locks für mindestens zwei Stunden innerhalb von 24 Stunden halten und die über 5 % der Sitzungen für 28 Tage beeinträchtigen. Audio-, Standort- und JobScheduler-initiierte APIs sind von dieser Berechnung ausgenommen.Ein Wake Lock ermöglicht es einer App, die CPU des Geräts auch bei Nichtgebrauch aktiv zu halten. Partial Wake Locks halten die CPU auch bei ausgeschaltetem Bildschirm aktiv und verhindern so Stromsparmodi. Unsachgemäße oder übermäßige Nutzung von Wake Locks führt zu erheblichem Akkuverbrauch und Benutzerbeschwerden. Bevor Sie einen manuellen Partial Wake Lock erwerben, sollten Sie Alternativen wie die Dokumentation "Keep Screen On" oder vorhandene APIs in Betracht ziehen.Beim manuellen Erwerb von Wake Locks sollten Sie beschreibende, hartcodierte String-Namen ohne persönlich identifizierbare Informationen oder dynamische Elemente verwenden. Es ist unerlässlich, erworbene Wake Locks immer freizugeben, um Akkuverbrauch zu vermeiden, indem Sie try-finally-Blöcke oder Timeouts verwenden. Die Reduzierung der Aufweckhäufigkeit durch Methoden wie WorkManager, SensorManager-Batching oder die Optimierung der Nutzung des Fused Location Provider kann ebenfalls Akku sparen.Das Debugging von übermäßigen Wake Locks beginnt mit der Play Console, die Wake Lock-Namen und betroffene Sitzungen aufschlüsselt. Für von Workern gehaltene Wake Locks verwenden Sie den Background Task Inspector von Android Studio oder WorkInfo.getStopReason() für das Debugging im Feld. Für andere Wake Lock-Typen wird die Erfassung von System-Traces mit Befehlszeilentools, dem Android Studio Profiler oder Perfetto UI empfohlen. Die Aktivierung der ATrace-Kategorie "power:PowerManagement" ist unerlässlich, um relevante Daten in System-Traces anzuzeigen.Perfetto UI ermöglicht die visuelle Inspektion von Wake Lock-Slices auf einer Zeitachse, und die SQL-Analyse kann die Hauptverursacher übermäßiger Nutzung über mehrere Traces hinweg effizient identifizieren. Für schwer reproduzierbare Probleme bietet ProfilingManager (SDK 35+) programmatische Kontrolle über die Erfassung von System-Traces im Feld. Das richtige Verständnis und die Implementierung von Wake Locks, die Einhaltung von Best Practices und die Nutzung von Debugging-Tools sind entscheidend für die Optimierung der Akku-Leistung von Apps.