Bateria
Performance
Mobile
Otimização
iOS
Android

Batterieverbrauch in Apps: So optimieren Sie die mobile Leistung

Batterieverbrauch in Apps: So optimieren Sie die mobile Leistung

Akku ist eine wertvolle Ressource in mobilen Geräten. Apps, die den Akku belasten, werden deinstalliert und schlecht bewertet. In diesem Leitfaden werden die Ursachen für übermäßigen Verbrauch und Techniken zur Erstellung energieeffizienter Apps vorgestellt.

Warum Batterie wichtig ist

Benutzererfahrung

Niemand möchte eine App, die seinen Akku leert. Frustration führt zur Deinstallation.

Bewertungen

„Batterie leer“ taucht häufig in negativen Bewertungen auf.

Systemeinschränkungen

iOS und Android begrenzen Apps, die zu viel verbrauchen. Hintergrundbeendigung.

Ursachen für übermäßigen Konsum

Hintergrundaktivität

Prozesse, die ausgeführt werden, wenn die App nicht verwendet wird.

Konstanter Standort

GPS ist einer der größten Verbraucher. Nur bei Bedarf verwenden.

Netzwerkanfragen

Häufige Anfragen, insbesondere bei ausgeschaltetem Bildschirm.

Wake-Locks

CPU oder Bildschirm werden nicht richtig aktiv gehalten.

Schwere Animationen

Komplexe Animationen erfordern eine GPU. Sparsam verwenden.

Intensive Verarbeitung

Schwere Berechnungen, Mediendekodierung.

Übermäßige Push-Benachrichtigungen

Jede Benachrichtigung weckt das Gerät.

Überwachung des Verbrauchs

###Android

Battery Historian, Android Studio Profiler.

iOS

Xcode-Energieanzeige, Energieprotokoll der Instrumente.

Metriken

CPU-Zeit, Netzwerkaktivität, Standortaktualisierungen, Wakeups.

Netzwerkoptimierung

Batchverarbeitung

Gruppieren Sie Anfragen zusammen, anstatt sie einzeln zu stellen.

Komprimierung

Kleinere Daten = kürzere Übertragungszeit.

Caching

Vermeiden Sie wiederholte Anfragen. Aggressives Caching.

Intelligenter Vorabruf

Laden Sie Daten herunter, wenn eine Verbindung und WLAN besteht.

Exponentieller Backoff

Fehler sollten keine aggressiven Wiederholungsversuche verursachen.

Standortoptimierung

Angemessene Genauigkeit

Verwenden Sie die niedrigste erforderliche Präzision. Hohe Genauigkeit verbraucht viel.

Geofencing

Lassen Sie sich vom System benachrichtigen, wenn Sie die Region betreten. Befragen Sie nicht ständig.

Wesentliche Standortänderungen

Für iOS effiziente Alternative zu kontinuierlichen Updates.

Fused Location Provider

Für Android sorgt es für ein ausgewogenes Verhältnis zwischen Genauigkeit und Verbrauch.

Stoppen Sie, wenn es nicht nötig ist

Entfernen Sie Listener, wenn Sie sie nicht mehr benötigen.

Hintergrundarbeit

iOS

Hintergrund-App-Aktualisierung begrenzt. BGTaskScheduler für Aufgaben.

###Android

WorkManager für aufschiebbare Aufgaben. Respektieren Sie den Doze-Modus.

Allgemeines Prinzip

Tun Sie das Nötigste. Komplett und schlafen.

Vermeiden Sie Umfragen

Verwenden Sie Push/Websockets anstelle ständiger Abfragen.

Wake-Locks

Was sind sie?

Verhindern Sie, dass die CPU oder der Bildschirm in den Ruhezustand wechselt.

Risiken

Wakelock vergessen = Batterie leer.

Gute Praktiken

Dauer minimieren, sofort freigeben, Timeouts nutzen.

###Android

Bevorzugen Sie JobScheduler oder WorkManager.

Effiziente Animationen

Hardwarebeschleunigung

Wenn möglich verwenden. GPU effizienter als CPU für Grafik.

Bildrate

60 fps sind flüssig, aber aufwändig. Reduzieren Sie, wenn dies akzeptabel ist.

Offscreen-Animationen

Pausieren Sie nicht sichtbare Animationen.

Lottie

Effiziente Vektoranimationen.

Rendering

Einfache Layouts

Tiefe Hierarchien sind kostspielig. Abflachen.

RecyclerView/List

Ansichten recyceln. Nicht ständig neu erstellen.

Überziehen

Vermeiden Sie es, Pixel mehrmals zu zeichnen. Mit Werkzeug prüfen.

Push-Benachrichtigungen

Richtige Priorität

Normale Priorität für nicht dringende Anrufe. Batch auf dem Server.

Kleine Nutzlast

Weniger Daten = weniger Verarbeitung.

Silent Push

Für Hintergrundsynchronisierung. Wecken Sie den Bildschirm nicht unnötig auf.

Medien

Effizienter Codec

H.265/HEVC ist in vielen Fällen effizienter als H.264.

Angemessene Auflösung

4K nicht in Miniaturansicht dekodieren.

Wiedergabe

Pausieren, wenn nicht sichtbar. Machen Sie Ressourcen frei.

Sensoren

Verwendung bei Bedarf

Registrieren Sie den Listener nur bei Bedarf.

Geeignete Frequenz

Niedrigstmögliche Frequenz, die die Anforderung erfüllt.

Batch-Lieferung

Gruppenlesungen für weniger Aufwachen.

Diagnosetools

###Android

  • Batteriehistoriker
  • Android Studio Profiler
  • Dumpsys-Batteriestatistiken

iOS

  • Xcode Energy Organizer
  • Instrumente (Energieprotokoll)
  • MetricKit

Tests

Echte Szenarien

Testen Sie im realen Einsatz, nicht nur im Labor.

Verschiedene Geräte

Die Leistung variiert zwischen den Geräten.

Batterie schwach

Verhalten bei 20 %, 10 %, 5 %.

Hintergrund erweitert

Lassen Sie es stundenlang im Hintergrund. Messen.

System-APIs

###Android

  • Doze-Modus: Respekt, Test
  • Standby-Buckets-App: Kategorien verstehen
  • Batteriesparmodus: Verhalten anpassen

iOS

  • Energiesparmodus: Aktivität reduzieren
  • Hintergrund-App-Aktualisierung: Präferenz berücksichtigen
  • BGTaskScheduler: für effiziente Aufgaben

Dunkler Modus

OLED-Bildschirme

Schwarze Pixel sind aus. Der Dunkelmodus speichert.

Native Unterstützung

Implementieren Sie die folgenden Richtlinien. System passt sich an.

Häufige Fehler

GPS immer an

Vergessen, Standortaktualisierungen zu stoppen.

Aggressiver Timer

setInterval von 1 Sekunde unnötig.

Wake Lock durchgesickert

Nicht in Ausnahme- oder Grenzfällen freigegeben.

Debug in der Produktion

Zu viele Protokolle, Debug-Funktionen aktiviert.

Fazit

Die Batterieoptimierung liegt in der Verantwortung des Entwicklers. Überwachen Sie den Verbrauch, minimieren Sie den Hintergrund, nutzen Sie effiziente APIs und testen Sie unter realen Bedingungen. Benutzer danken Ihnen und bleiben.

##FAQs

1) Woher weiß ich, ob meine App viel Akku verbraucht? Verwenden Sie Profilierungstools. Vergleichen Sie mit ähnlichen Apps.

2) Der Hintergrund ist das größte Problem? Oft ja. Aktivitäten ohne Bildschirm sind sehr kostspielig.

3) GPS verbraucht wie viel? Es ist einer der größten Verbraucher. Verwenden Sie die erforderliche Mindestgenauigkeit.

4) Spart der Dunkelmodus wirklich Batterie? Auf OLED-Bildschirmen, ja deutlich. LCD, nein.

5) Wie teste ich den Batterieverbrauch? Nutzen Sie Profiler, testen Sie auf realen Geräten, simulieren Sie eine längere Nutzung.

Lesen Sie auch