Optimiser la consommation d'énergie de votre application

Ce document décrit les bonnes pratiques à suivre pour optimiser la consommation dans une application de navigation mobile que vous créez à l'aide de SDK Navigation. En même temps, il décrit les compromis pour prendre en compte lors de ces pratiques. Ce document aborde en particulier suivantes:

  • Sources de consommation d'énergie élevée, classées par ordre décroissant.
  • Stratégies d'optimisation de la consommation d'énergie, par ordre d'importance en commençant par la fréquence d'images.
  • Stratégies pour les utilisateurs finaux afin d'apprendre aux utilisateurs de votre application à gérer leurs l'utilisation de l'appareil pendant la navigation.

Pourquoi optimiser votre application de navigation ?

Selon leur situation, les utilisateurs de votre application peuvent exécuter un guidage de navigation pour sur de longues périodes. Par exemple, les livreurs et les livreurs peuvent avoir beaucoup de travail d'heures, en effectuant des missions dans un territoire inconnu. Dans ces cas, elle s’appuie fortement basé sur des instructions détaillées dans l'application. Cela entraîne quelques problèmes courants:

  • Décharge de la batterie et disponibilité des chargeurs. Une utilisation intensive de la navigation peut la batterie de l'appareil se décharge plus rapidement que prévu. Bien que de nombreux utilisateurs puissent résoudre ce problème en chargeant leur appareil dans le véhicule, les conducteurs de deux-roues ne peut pas.
  • L'appareil ralentit en raison de la chaleur. Même les utilisateurs qui chargent en continu leur l'appareil peut rencontrer des problèmes. Consommation d'énergie élevée sur de longues périodes peut faire chauffer l'appareil, ce qui entraîne une limitation thermique et d'une perte de performances ultérieure.

Les applications de navigation détaillée reposent sur des fonctionnalités gourmandes en énergie comme l'écran, le GPS, et la communication radio avec les antennes-relais. C'est donc une bonne pratique d'optimiser la consommation d'énergie de votre application mobile. De plus, vous devez tenir compte de la puissance les besoins d'utilisation de votre public cible, afin que vous puissiez prendre les les compromis entre performances et optimisation de la consommation d'énergie.

Qu'est-ce qui consomme le plus d'énergie ?

Cette section répartit les activités dans l'application associées à des performances élevées de consommation en deux catégories:

  • Rendu de l'écran
  • Mises à jour de position

Rendu de l'écran

Le rendu de l'écran génère généralement la plus grande consommation d'énergie sur mobile applications de navigation. Chaque fois que l'appareil dessine une carte et d'autres éléments d'interface utilisateur sur le elle repose sur le processeur GPU et le processeur. De même, lorsque l'utilisateur quitte que l'écran reste allumé pendant de longues durées, ce qui consomme également plus d'énergie.

Dans une certaine mesure, vous pouvez vous attendre à une forte consommation d'énergie de la part des conducteurs ou usagers s'appuient sur une carte visible pour naviguer, en particulier s'ils utilisent l'application en continu. pendant de nombreuses heures. Dans ce scénario, l'application effectue également un taux d'affichage plus élevé à l'écran, car la carte est ensuite mise à jour en temps réel. Dans certains cas, l'écran peut redessiner presque en continu, en particulier lorsque l'utilisateur passe de l'emplacement à l'autre sans vous arrêter.

Mises à jour de position

En plus du rendu de l'écran, deux autres activités de navigation utilisent l'appareil alimentation:

  • Utilisation du GPS et de l'antenne-relais
  • les mises à jour et le partage de position, par exemple pour fournir une heure d'arrivée prévue ou signaler l'état la position d'un véhicule d'une flotte.

La communication GPS et la communication radio cellulaire reposent toutes deux sur des opérations de démarrage énergivores: le GPS doit détecter les satellites et les radios cellulaires doivent négocier avec les antennes-relais et d'établir une connexion. C'est pourquoi elles fonctionnent en continu pendant la navigation, même si les antennes-relais de téléphonie mobile restent actives pendant 20 à 30 secondes au cours d'une de réduire les coûts de démarrage. Le système d'exploitation contrôle ces paramètres que vous ne pouvez pas facilement configurer dans votre application.

Pour les mises à jour de la position, la consommation d'énergie varie en fonction de facteurs imprévisibles. Pour Exemple : la distance entre l'appareil et la station d'accueil cellulaire détermine la consommation d'énergie, car l'appareil n'utilisera que le signal le plus faible de continuer la navigation afin d’éviter de changer de tour. Par conséquent, un appareil la navigation dans une zone où la connectivité est mauvaise consomme davantage d'électricité. se trouve à proximité d'une station d'accueil. De plus, certaines applications peuvent partager des mises à jour de la position géographique avec un service central de gestion de parc, et devront donc communiquer avec un serveur pour y parvenir.

Optimiser la consommation d'énergie de votre application

Pour optimiser la consommation d'énergie des applications de navigation, fortement sur des ressources gourmandes en énergie, ce qui limite vos options pour atténuer le sans faire de compromis, comme limiter l'utilisation de l'écran. Ce fournit une liste des approches que vous pouvez adopter pour optimiser votre application, dans ordre du plus au moins impactant.

Modifier la fréquence d'images

L'écran met à jour ce qu'il affiche à une fréquence appelée "fréquence d'images". La fréquence d'images est généralement mesurée en images par seconde (FPS). Comme le rendu d'écran utilise beaucoup de processeur ou de GPU, vous pouvez réduire la fréquence d'images pour économiser de l'énergie. leur consommation.

En réduisant la fréquence d'images, le rendu de l'écran peut apparaître moins souvent lisse, surtout si la carte est mise à jour fréquemment. Cela peut être le plus évident Lorsque l'utilisateur fait un zoom avant sur la carte pour afficher des informations détaillées, lorsque l'utilisateur se déplace sur lorsque vous changez de vitesse ou de direction.

Sur les appareils iOS, le SDK Maps pour iOS expose le preferredFrameRate pour contrôler la fréquence d'images. La table ci-dessous présente les valeurs de l'énumérateur GMSFrameRate que vous pouvez ajuster:

kGMSFrameRatePowerSave

Utilisez la fréquence d'images minimale pour économiser la batterie.

kGMSFrameRateConservative

Utilisez une fréquence d'images médiane pour offrir un rendu plus fluide et préserver les cycles de traitement.

kGMSFrameRateMaximum

Utilisez la fréquence d'images maximale d'un appareil.

Pour les appareils bas de gamme, il s'agit de 30 FPS. ou haut de gamme, elle est de 60 FPS.

Pour référence, consultez GMSFrameRate dans le SDK Google Navigation. pour iOS.

Bien que vous ne puissiez pas contrôler la façon dont l'utilisateur final règle la luminosité de l'écran de son appareil ou pendant combien de temps son écran reste allumé, vous pouvez proposer une option de navigation guidage sans carte. Cela permettrait à l'utilisateur final de choisir cette option dans afin d'économiser de l'énergie. Par exemple, si les conducteurs travaillent régulièrement dans le même du quartier, il se peut qu'ils n'aient pas besoin d'être guidés aussi souvent par des cartes. Navigation sans carte peut être activé Définition d'une destination et Conseils de démarrage dans le SDK Navigation, mais sans afficher de carte.

Ajoutez une ligne de code pour masquer GMSMapView:

mapView.isHidden = true

Le SDK Navigation continuera à mettre à jour les positions avec tracé des routes, l'heure d'arrivée prévue et la distance restante du trajet, et votre application peut toujours s'abonner à tous les les événements déclenchés par le SDK. au fur et à mesure de la conduite du conducteur. Cela ne convient pas à tous les cas d'utilisation. n'est pas un bon conseil si le conducteur doit consulter la carte et suivre un guide visuel. Les captures d'écran suivantes illustrent une comparaison d'activer ou de désactiver l'affichage de la carte pendant la navigation active.

Application de démonstration en cours d'exécution avec la vue plan visible
Figure 1 : Application de démonstration iOS du SDK Navigation affichant la démo Retour de données
Application de démonstration en cours d'exécution sans vue plan.
Figure 2 : Application de démonstration en cours d'exécution sans vue Plan Notez que le temps et la distance restants, ainsi que la position de la route capturée, sont toujours en cours de mise à jour.

Utiliser un style de carte sombre

Pensez à appliquer un thème sombre à la carte afin de réduire la quantité d'énergie pour afficher la carte à l'écran.

Le SDK Navigation affiche ses cartes à l'aide du SDK Google Maps pour iOS qui contiennent des options styliser les vues de carte hors navigation dans votre application. La vue de navigation permet de forcer le mode sombre. Cela peut ne pas affecter tous les appareils de la même manière, en raison des différences de type d'écran, mais permet d'économiser de l'énergie dans certains cas. Une étude récente a révélé que la quantité d'énergie économisés par le mode sombre sur certains écrans dépend de la luminosité de l'écran au démarrage . Par exemple, le mode sombre permet d'économiser davantage d'énergie sur les écrans réglés sur pleine luminosité par rapport aux écrans dont la luminosité est déjà réglée sur 30 à 50 % maximum. Ce point est important à prendre en compte lorsque vous utilisez le mode sombre pour vos applications, car les économies d'énergie dépendent de la façon dont l'utilisateur final configure son écran luminosité.

Pour en savoir plus sur la modification de l'interface utilisateur de Navigation, consultez Modifiez l'UI de navigation.

Capture d'écran du SDK Navigation exécuté sur un iPhone 15 Pro avec un style de carte sombre.
Figure 3 : SDK Navigation configuré avec un style de carte sombre
Configurez votre GMSMapView avec un mapID qui représente un style de carte basé dans le cloud défini dans votre projet.

Les styles de cartes basés dans le cloud nécessitent un ID de carte qui représente une carte côté serveur. qui a été créée dans votre projet de la console Google. Pour plus pour en savoir plus sur la création d'un ID de carte, consultez le développeur d'ID de carte documentation. Pour en savoir plus sur la conception et le déploiement Pour les styles de cartes basés dans le cloud, consultez la documentation destinée aux développeurs sur la création et la gestion Styles de carte basés dans le cloud.

Modifier la fréquence de mise à jour de la position GPS

Lorsque vous tenez compte de la consommation électrique d'après les mises à jour de position envoyées depuis l'appareil, concentrez-vous davantage sur la fréquence des mises à jour de la position que sur la quantité de données envoyées la transmission.

Ce n'est pas quelque chose que vous pouvez contrôler directement SDK Navigation pour en savoir plus. Le même conseil s'applique à l'utilisation de sources de localisation autres que le GPS (cellulaire et Wi-Fi).

Informer vos utilisateurs

Les utilisateurs de votre application voudront peut-être savoir comment optimiser leur puissance leur consommation. Pour l'aider à réduire la consommation d'énergie de ses applications, conseillez à votre les utilisateurs à effectuer les opérations suivantes:

  • Verrouiller le téléphone
  • Mettre l'application de navigation en arrière-plan
  • Si possible, utilisez la navigation sans carte.
  • Réduisez la luminosité de l'écran en utilisant le mode sombre pour les écrans OLED et AMOLED ou en activant l'adaptation de la luminosité
  • Laissez l'appareil au frais
  • Connectez-vous au réseau Wi-Fi du véhicule (si disponible)

Mesurer la consommation d'énergie

Vous pouvez utiliser des outils professionnels pour mesurer la consommation d'énergie, mais il est souvent difficile ou coûteux de les obtenir. Applications et outils de profilage d'IDE tels que Power Profiler dans Android Studio et Volet Utilisation de la batterie dans XCode L'organisateur mesure la consommation d'énergie, mais cela peut être difficile supprimer l'effet des processus en arrière-plan ou définir une référence de performances mesurer. Dans certains cas, les restrictions liées aux appareils peuvent empêcher l'accès aux données nécessaires.

Vous pouvez utiliser du matériel de surveillance de l'alimentation spécial configuration de connexion de la batterie, et produits et services commerciaux pour vous aider à y parvenir. Notez que cette modification peut entraîner l'annulation la garantie de l’appareil.