Stromverbrauch Ihrer App optimieren

In diesem Dokument werden Best Practices zur Optimierung des Energieverbrauchs beschrieben. in einer mobilen Navigations-App, die Sie mithilfe der Navigation SDK Gleichzeitig werden die Vor- und Nachteile der wenn Sie diese Praktiken anwenden. In diesem Dokument geht es insbesondere um die Folgendes:

  • Quellen für hohen Energieverbrauch, absteigend sortiert.
  • Strategien zur Optimierung des Energieverbrauchs, nach ihrer Wichtigkeit geordnet beginnend mit der Framerate.
  • Strategien für Endnutzer zur Erläuterung der Verwaltung von App-Nutzern Gerätenutzung während der Navigation.

Warum sollte ich meine Navigations-App optimieren?

Je nach Situation können Ihre App-Nutzer Navigationshinweise für über einen längeren Zeitraum erfolgen. Zum Beispiel können Fahrer und Kurierdienste lange Stunden, um Aufgaben in unbekannten Gebieten zu erledigen. In diesen Fällen nutzen sie die detaillierte Routenführung in der App. Dies führt zu einigen typischen Problemen:

  • Schnelle Akkuentladung und Verfügbarkeit von Ladegeräten Eine intensive Nutzung der Navigation kann kann dies dazu führen, dass sich der Akku des Geräts schneller als erwartet entlädt. Viele Nutzer können indem sie ihr Gerät im Fahrzeug aufladen. nicht.
  • Gerätedrosselung aufgrund von Hitze. Auch Nutzer, die ihr Gerät ständig aufladen, können Probleme auftreten. Hoher Stromverbrauch über einen längeren Zeitraum kann sich das Gerät aufheizen, was zu einer Drosselung der Temperatur und anschließenden Leistungsverlust.

Für Apps mit detaillierter Routenführung benötigen Sie wichtige Funktionen, z. B. das Display, GPS, und Funkkommunikation mit Mobilfunkmasten. Daher empfiehlt es sich, den Stromverbrauch Ihrer mobilen App ermitteln. Außerdem sollten Sie die Leistungsfähigkeit die Nutzungsanforderungen Ihrer Zielgruppe, damit Sie geeignete Kompromisse zwischen Leistung und Optimierung des Stromverbrauchs

Was verbraucht am meisten Strom?

In diesem Abschnitt sind die In-App-Aktivitäten unterteilt, die mit hoher Leistung verbunden sind. in zwei Kategorien unterteilen:

  • Bildschirm-Rendering
  • Standortaktualisierungen

Bildschirm-Rendering

Das Bildschirm-Rendering verursacht in der Regel den höchsten Stromverbrauch auf Mobilgeräten. Navigations-Apps. Jedes Mal, wenn das Gerät eine Karte und andere UI-Elemente auf der ist die GPU- und CPU-Verarbeitung erforderlich. Ähnlich verhält es sich, wenn die Nutzenden das Display für längere Zeit eingeschaltet, verbraucht auch das mehr Energie.

Bis zu einem gewissen Grad können Sie mit einem hohen Stromverbrauch von Fahrern oder Mitfahrern rechnen, die verlassen sich zur Navigation auf eine sichtbare Karte, insbesondere wenn sie die App ständig verwenden. für viele Stunden. In diesem Szenario führt die App auch eine höhere Renderingrate durch. da die Karte dann in Echtzeit aktualisiert wird. In einigen Fällen kann der Bildschirm kann fast fortlaufend neu gezeichnet werden, besonders wenn der Nutzer von ohne anzuhalten.

Standortaktualisierungen

Neben dem Bildschirm-Rendering nutzen zwei weitere Navigationsaktivitäten das Gerät Leistung:

  • Mobilfunkmast und GPS-Nutzung
  • Standortaktualisierungen und -freigaben, z. B. um eine voraussichtliche Ankunftszeit anzugeben oder den Positionen eines Fahrzeugs in einer Flotte.

GPS- und Mobilfunkkommunikation erfordern energieintensive Startvorgänge: GPS muss Satelliten finden und Funkschnittstellen müssen mit Sendemasten verhandeln und eine Verbindung herstellen. Aus diesen Gründen laufen sie im Wesentlichen auch wenn die Mobilfunkverbindung 20 bis 30 Sekunden lang die Startkosten zu minimieren. Diese Einstellungen werden vom Betriebssystem gesteuert. was Sie in Ihrer App nicht so einfach konfigurieren können.

Bei Standortaktualisierungen variiert der Stromverbrauch aufgrund unvorhersehbarer Faktoren. Für z. B. die Entfernung zwischen dem Gerät und der Mobilfunk-Basisstation bestimmt den Stromverbrauch, da das Gerät das geringstmögliche Signal verwendet um die Navigation fortzusetzen, um den Wechsel von Türmen zu vermeiden. Dementsprechend kann ein Gerät Die Navigation in einem Gebiet mit schlechter Verbindung verbraucht mehr Strom als eine, die befindet sich in der Nähe einer Basisstation. Außerdem teilen einige Apps eventuell Standortaktualisierungen mit einem zentralen Flottenmanagement-Service, und müssen daher mit einem Server.

Stromverbrauch der App optimieren

Die Herausforderung bei der Optimierung des Stromverbrauchs in Navigations-Apps besteht darin, stark verbrauchen, was Ihre Möglichkeiten zur Minderung des ohne Kompromisse wie die Beschränkung der Bildschirmnutzung einzugehen. Dieses enthält eine Liste mit Ansätzen, die Sie bei der Optimierung Ihrer App verfolgen können. von der größten zur am wenigsten Wirkung.

Framerate ändern

Die angezeigten Inhalte werden auf dem Bildschirm mit der sogenannten Framerate aktualisiert. Die Framerate wird normalerweise in Frames pro Sekunde (fps) gemessen. Da das Bildschirm-Rendering viel CPU oder GPU beansprucht, können Sie die Framerate reduzieren, um Strom zu sparen konsumiert wird.

Der Nachteil bei der Reduzierung der Framerate ist, dass das Bildschirm-Rendering weniger oft besonders dann, wenn die Karte häufig aktualisiert wird. Dies ist vielleicht am offensichtlichsten wenn die Karte herangezoomt wird, um Details anzuzeigen, wenn der Nutzer unterwegs ist bei hoher Geschwindigkeit oder wenn sich die Geschwindigkeit oder Richtung stark ändert.

Auf iOS-Geräten stellt das Maps SDK for iOS die preferredFrameRate, um die Framerate zu steuern. Tabelle Unten sehen Sie die GMSFrameRate-Enumeratorwerte, die Sie anpassen können:

kGMSFrameRatePowerSave

Verwende die minimale Framerate, um den Akku zu schonen.

kGMSFrameRateConservative

Verwende eine durchschnittliche Framerate, um ein flüssigeres Rendering und weniger Verarbeitungszyklen zu ermöglichen.

kGMSFrameRateMaximum

Verwende die maximale Frame-Rate für ein Gerät.

Bei Low-End-Geräten sind das 30 fps. oder High-End-Geräten 60 fps.

Weitere Informationen finden Sie unter GMSFrameRate im Google Navigation SDK. in der iOS-Dokumentation.

Sie können zwar nicht steuern, wie der Endnutzer die Bildschirmhelligkeit oder wie lange sie das Display eingeschaltet lassen, können Sie eine Option zur Navigation Routenführung ohne Karte. Dies würde es den Endanwendenden ermöglichen, diese Option um Strom zu sparen. Wenn Fahrer beispielsweise regelmäßig im selben benötigen sie möglicherweise nicht so oft eine kartenbasierte Orientierungshilfe. Navigation ohne Karte aktiviert werden kann, Festlegen eines Ziels und Einstieg im Navigation SDK erstellt, aber keine Karte angezeigt wird.

Fügen Sie eine Codezeile hinzu, um GMSMapView auszublenden:

mapView.isHidden = true

Das Navigation SDK aktualisiert die Angaben zu den an der Straße ausgewählten Orten, der voraussichtlichen Ankunftszeit und über die verbleibende Reisestrecke, und Ihre App kann weiterhin alle vom SDK ausgelöste Ereignisse während der Fahrer weiterfährt. Dies ist nicht für jeden Anwendungsfall und Ein Kurs ist kein guter Rat für den Fall, dass der Fahrer die Karte sehen und visuelle Orientierung. Die folgenden Screenshots zeigen einen direkten Vergleich. zwischen Kartenansichten während der aktiven Navigation umschalten.

<ph type="x-smartling-placeholder">
</ph> Demo-App mit sichtbarer Kartenansicht
Abbildung 1.In der iOS-Demo-App des Navigations-SDKs wird die Data Back-Demo gezeigt.
<ph type="x-smartling-placeholder">
</ph> Demo-App wird ausgeführt, ohne dass eine Kartenansicht zu sehen ist.
Abbildung 2:Demo-App ohne sichtbare Kartenansicht Die verbleibende Zeit, die Entfernung und der an der Straße angezeigte Standort werden noch aktualisiert.

Dunklen Kartenstil verwenden

Du kannst die Karte so gestalten, dass ein dunkles Design verwendet wird, um den Energieverbrauch zu reduzieren. die zum Rendern der Karte auf dem Bildschirm erforderlich sind.

Das Navigation SDK rendert seine Karten mithilfe der Google Maps SDK for iOS die Optionen für Ansichten in Ihrer App gestalten, bei denen es sich nicht um Navigationskartenaufrufe handelt. In der Navigationsansicht unterstützt das Erzwingen des dunklen Modus. Dies wirkt sich möglicherweise nicht auf alle Geräte gleich aus, den Unterschieden beim Bildschirmtyp entsprechen, ermöglicht aber potenzielle Stromeinsparungen in manchen Fällen. Eine aktuelle Studie ergab, dass die Menge an Strom im dunklen Modus gespeichert, hängt davon ab, wie hell das Display ist, mit. Der dunkle Modus spart beispielsweise auf Displays mit voller Helligkeit mehr Energie als bei Bildschirmen, deren Helligkeit bereits auf 30 bis 50% des maximal. Das sollten Sie berücksichtigen, wenn Sie den dunklen Modus verwenden, denn die Energieeinsparungen hängen davon ab, wie der Endnutzer seinen Bildschirm einrichtet. Helligkeit.

Weitere Informationen zum Ändern der Navigations-UI finden Sie unter Ändern Sie die Navigations-UI.

<ph type="x-smartling-placeholder">
</ph> Screenshot des Navigation SDK auf einem iPhone 15 Pro mit dunklem Kartenstil
Abbildung 3: Mit einem dunklen Kartenstil konfiguriertes Navigations-SDK
Konfigurieren Sie GMSMapView mit einer Karten-ID, die einen in Ihrem Projekt definierten cloudbasierten Kartenstil darstellt.

Für das cloudbasierte Gestalten von Karteninhalten ist eine Karten-ID erforderlich, die eine serverseitige Karte repräsentiert Konfiguration, die in Ihrem Google Console-Projekt erstellt wurde. Weitere Informationen Informationen zum Erstellen einer Karten-ID findest du unter Karten-ID-Entwickler Dokumentation. Weitere Informationen zum Entwerfen und Bereitstellen eines Cloudbasierten Kartenstil finden Sie in der Entwicklerdokumentation zum Erstellen und Verwalten Cloudbasierte Kartenstile.

Häufigkeit der GPS-Standortaktualisierung ändern

Bei der Betrachtung des Stromverbrauchs durch Standortaktualisierungen, die vom Gerät gesendet werden, solltest du dich darauf konzentrieren, eher auf die Häufigkeit von Standortaktualisierungen als auf die Menge der gesendeten Daten. der Übertragung.

Diese Einstellung können Sie nicht direkt Navigations-SDK . Dasselbe gilt für die Verwendung von Nicht-GPS-Standortquellen (Mobilfunk und WLAN).

Nutzer schulen

Die Nutzer Ihrer App möchten möglicherweise wissen, wie sie ihre Leistung optimieren können. konsumiert wird. Empfehlen Sie Ihrem Kind, den Energieverbrauch von Apps zu reduzieren. können Nutzer Folgendes tun:

  • Smartphone sperren
  • Navigations-App im Hintergrund platzieren
  • Verwenden Sie die Navigation möglichst ohne Karte.
  • Reduzieren Sie die Bildschirmhelligkeit, indem Sie entweder den dunklen Modus für OLED oder AMOLED verwenden oder durch Aktivieren der automatischen Helligkeit
  • Gerät kühl halten
  • Mit WLAN im Fahrzeug verbinden, falls verfügbar

Energieverbrauch messen

Sie können professionelle Tools verwenden, um den Stromverbrauch zu messen, aber es ist oft schwierig oder kostspielig, sie zu erhalten. Apps und IDE-Profiling-Tools wie Power Profiler in Android Studio und der Bereich „Akkunutzung“ in XCode Organizer messen den Stromverbrauch, aber das kann schwierig sein um die Auswirkungen von Hintergrundprozessen zu beseitigen oder eine Leistungs-Baseline festzulegen, messen wollen. In einigen Fällen verhindern Geräteeinschränkungen auf die notwendigen Daten.

Sie können spezielle Hardware zur Leistungsüberwachung verwenden und den Konfiguration der Akkuverbindung und kommerzielle Produkte und Dienstleistungen die Ihnen dabei helfen. Hinweis: Wenn Sie Geräte auf diese Weise verändern, kann dies zur Erlöschen von Informationen führen. die Garantie des Geräts nicht überschreiten.