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
- Mobile Performance-Optimierung: Vollständiger Leitfaden
- Mobile Performance-Optimierung – Echte Beispiele für Einsteiger
- Batterieverbrauch in Apps: Vergleich mit realen Fällen
- Batterieverbrauch in Apps: Vergleich und Checkliste
- Batterieverbrauch in Apps: Vergleich und Kurzanleitung
- Native Android-Entwicklung: So unternehmen Sie grundlegende Schritte
