Reduzierung der Batteriebelastung von Apps, die Inhalte über ein Smartphone-Radio herunterladen


70

Was kann ich tun, um die Auswirkungen dieser Übertragungen auf die Akkulaufzeit zu minimieren, wenn ich eine Smartphone-App erstelle, die regelmäßig Daten von einem Server herunterlädt und zeitweise Daten (Analysen, Anzeigen usw.) hochlädt?

Die Auswirkungen von Übertragungen über das drahtlose Radio (2G, 3G, LTE usw.) auf die Batterie sind besonders bedeutend. Gibt es irgendetwas am Stromverbrauchsprofil des Funkgeräts, das sich auf meine Wahl auswirken sollte, wann, was und wie Daten übertragen werden sollen, um die Auswirkungen auf die Akkulaufzeit zu minimieren?

Antworten:


79

Diese Antwort ist in der Android-Schulungsklasse „ Übertragen von Daten ohne Entladen des Akkus“ zusammengefasst, in der erläutert wird, wie die Auswirkungen von Downloads und Netzwerkverbindungen auf die Akkulaufzeit, insbesondere in Bezug auf das drahtlose Radio, minimiert werden können.

Insbesondere das Optimieren von Downloads für einen effizienten Netzwerkzugriff erläutert die Zustandsmaschine für drahtlose Funkgeräte ausführlich und erläutert anschließend, wie das Konnektivitätsmodell Ihrer App mit ihr interagieren sollte, um den damit verbundenen Batterieverbrauch zu minimieren.

Die Funkfunk-Zustandsmaschine

Referenz

Jedes Mal, wenn Sie eine neue Netzwerkverbindung herstellen, wechselt das Funkgerät in den vollen Energiezustand. Dieser Übergang dauert normalerweise etwa 2 Sekunden. Um die Latenz zu minimieren, führt das Funkgerät eine Verzögerung ein, um den Übergang in Zustände mit niedrigerer Energie zu verschieben.

Ein typisches 3G-Radio bleibt nach Abschluss Ihrer Übertragung 5 Sekunden lang mit voller Leistung, bevor Sie im Niedrigenergiezustand weitere 12 Sekunden warten, bevor Sie in den Standby-Modus wechseln. Insgesamt wird das Radio bei jeder Verbindung fast 20 Sekunden lang mit Strom versorgt.

Dieser Ansatz kann zu Ineffizienzen bei Apps führen, die auf modernen Smartphone-Betriebssystemen ausgeführt werden, bei denen Apps sowohl im Vordergrund (wo die Latenz wichtig ist) als auch im Hintergrund (wo die Akkulaufzeit priorisiert werden sollte) ausgeführt werden.

Lösungen

Der Schlüssel zur Minimierung der Auswirkung von Downloads auf Ihren Akku liegt darin, zu erkennen, dass die Häufigkeit der Übertragungen einen dramatischeren Einfluss hat als die Größe der Downloads. In der Praxis sind das Vorabrufen und das Anstehen / Bündeln Ihrer Überweisungen besonders effektiv.

Da Sie wissen, dass jedes Mal, wenn Sie eine Verbindung herstellen, das Radio möglicherweise fast 20 Sekunden lang Strom verbraucht, ist es wichtig, Ihre Datenübertragungen so zu bündeln, dass Sie effektiv Phasenverschiebungsübertragungen durchführen, die innerhalb eines ähnlichen Zeitfensters stattfinden sollen Sie übertragen während jeder Übertragungssitzung so viele Daten wie möglich, um die Anzahl der Sitzungen zu minimieren.

In ähnlicher Weise können Sie beim Vorabrufen alle Daten, die Sie wahrscheinlich für einen bestimmten Zeitraum benötigen, in einem einzigen Burst über eine einzige Verbindung mit voller Kapazität herunterladen. Durch das Frontloading Ihrer Übertragungen reduzieren Sie die Anzahl der zum Herunterladen der Daten erforderlichen Funkaktivierungen, verlängern die Akkulaufzeit, verbessern die Latenz, verringern die Bandbreite und verkürzen die Downloadzeiten.

Das Vorabrufen birgt jedoch auch das Risiko einer Erhöhung des Batterieverbrauchs und der Bandbreitennutzung, indem nicht verwendete Daten heruntergeladen werden.

Wie aggressiv Sie vorab abrufen, hängt von der Größe der heruntergeladenen Daten und der Wahrscheinlichkeit ihrer Verwendung ab. Im Allgemeinen empfiehlt es sich, Daten so vorab abzurufen, dass Sie nur alle 2 bis 5 Minuten und in der Größenordnung von 1 bis 5 Megabyte einen weiteren Download starten müssen.

Es ist im Allgemeinen auch effizienter, vorhandene Netzwerkverbindungen wiederzuverwenden, als neue zu erstellen. Durch die Wiederverwendung von Verbindungen kann das Netzwerk auch intelligenter auf Überlastungen und damit verbundene Probleme mit Netzwerkdaten reagieren.


11

Ich empfehle Ihnen, den Einstellungen Ihrer App die Einstellung "Wie oft synchronisieren" hinzuzufügen, damit der Benutzer ein gewisses Mitspracherecht bei der Abwägung von Datenaktualität und Batterieverbrauch hat. Unterschiedliche Benutzer haben unterschiedliche Prioritäten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.