La consommation de la batterie est l’un des facteurs les plus décisifs pour la satisfaction des utilisateurs dans les applications. Même lorsque l’application offre de la valeur, si elle draine de l’énergie de manière agressive, la perception de la qualité diminue rapidement. L'utilisateur ne mesure pas la consommation uniquement en pourcentage, mais en sensation : si le téléphone portable chauffe, si la charge se termine prématurément, si le système propose de limiter l'application, tout cela devient le signe d'un problème. Penser à la batterie n’est donc pas un détail technique, c’est un élément central du produit.
Ce guide couvre le sujet de bout en bout. Vous comprendrez ce qui consomme réellement de l'énergie, comment le mesurer, comment comparer des scénarios, comment identifier les coupables dans le code, quels compromis faire et comment créer une liste de contrôle d'optimisation qui peut être appliquée à n'importe quelle équipe. L'accent est mis sur la pratique, avec un langage clair, des tableaux comparatifs et des bonnes pratiques qui fonctionnent à la fois dans les applications natives et hybrides.
Pourquoi les batteries sont un sujet de produit, pas seulement un sujet technique
En mobile, la batterie est synonyme de temps d’utilisation et de liberté. Plus l'autonomie est grande, plus l'utilisateur explore les fonctionnalités, plus il fait confiance à l'application et moins il y a de risques de désinstallation. Cela a un impact direct sur la rétention, l’évaluation en magasin et la conversion. Les applications qui déchargent la batterie perdent non seulement des utilisateurs, mais génèrent également des coûts de support et de réputation.
Dans de nombreux cas, les problèmes de batterie sont confondus avec des bugs aléatoires. L'application devient lente, le système tue les processus, les notifications cessent d'arriver et l'utilisateur blâme l'application. Ces échecs ne sont pas toujours des bugs logiques, mais les symptômes d’une application mal optimisée. Par conséquent, celui qui dirige le produit doit traiter la consommation comme un indicateur de qualité, ainsi que le taux de crash et le temps de chargement.
Qu'est-ce qui consomme vraiment de la batterie dans une application
La batterie n'est pas déchargée pour une seule raison. En pratique, il s'agit d'un ensemble de facteurs qui s'additionnent : CPU, GPU, réseau, capteurs, disque, emplacement, écran et processus en arrière-plan. La combinaison de ces éléments crée une application légère ou lourde. Une application peut utiliser peu le processeur, mais garder l'écran actif et envoyer des requêtes toutes les quelques secondes, ce qui génère toujours une consommation élevée.
Voici les principaux méchants :
- CPU en utilisation constante, notamment en boucles, analyse intensive et cryptage excessif.
- Rendu GPU et UI avec des animations lourdes et des effets inutiles.
- Réseau actif dans un court intervalle, avec des interrogations fréquentes ou des téléchargements inutiles.
- Localisation de haute précision à tout moment.
- Bluetooth, NFC et capteurs fonctionnant en arrière-plan sans critères.
- Wake locks maintenus pendant une longue période, empêchant l'appareil de dormir.
- Écriture constante du disque, journaux et cache sans stratégie.
- Notifications mal configurées, qui réveillent l'application à tout moment.
L'énergie utilisée par n'importe quel composant dépend du temps d'utilisation et de l'intensité. La même tâche peut avoir un faible impact si elle est effectuée une fois par heure, mais un impact énorme si elle est effectuée toutes les 5 secondes. L’accent doit toujours être mis sur la réduction de la fréquence, de la durée et de la réduction du travail effectué.
Concepts essentiels pour mesurer la consommation
Pour améliorer la durée de vie de la batterie, vous devez la mesurer. Un médicament correct évite les conjectures et fait gagner du temps. Quatre concepts aident à interpréter les résultats :
- Baseline : état de base de l'application sans interaction. La consommation en veille doit être faible. Si l'application consomme beaucoup même à l'arrêt, il y a un sérieux problème d'arrière-plan.
- Burst : la consommation culmine lors de tâches spécifiques, telles que le téléchargement, la caméra ou les cartes. Les pics sont acceptables, mais ne peuvent pas être longs.
- Utilisation typique : flux d'utilisateurs le plus courant. C’est la mesure qui a le plus d’impact sur la perception.
- Utilisation extrême : scénarios stressants, comme utiliser l'application pendant 1 heure sur un réseau faible, avec vidéo et GPS en même temps.
Sans ces points, vous ne pouvez pas comparer les versions ou les fonctionnalités. L’idéal est de toujours tester avec le même script et sur le même appareil ou des appareils équivalents.
Comment comparer la consommation de la batterie entre les versions
Comparer la consommation de la batterie nécessite de la cohérence. Si vous testez à des jours différents, avec une luminosité différente, un réseau différent et des applications différentes en cours d'exécution, le résultat n'est pas valide. Établissez donc un protocole de comparaison simple :
- Même appareil et même version du système.
- Luminosité fixe et volume standard.
- Mode économie désactivé.
- Applications en arrière-plan fermées.
- Réseau contrôlé, de préférence Wi-Fi stable.
- Itinéraire d'utilisation identique et chronométré.
Avec ce protocole, vous mesurez le pourcentage de batterie consommée dans un temps fixe, par exemple 30 minutes. Si la version A consomme 5% et la version B consomme 8%, la différence est pertinente. L’important est de répéter le test au moins trois fois pour réduire le bruit.
Indicateurs de batterie pratiques pour les équipes produit
Vous ne pourrez pas toujours mesurer les wattheures, mais il existe des indicateurs simples qui aident l'équipe à suivre les progrès :
- Consommation par minute d'utilisation active : pourcentage dépensé par minute dans un flux standard.
- Consommation horaire en veille : pourcentage dépensé lorsque l'application n'est pas ouverte.
- Temps jusqu'à 20 % de batterie : temps estimé d'utilisation continue jusqu'à ce que la batterie tombe à 20 %.
- Rapport d'utilisation du système : iOS et Android affichent la consommation par application ; Suivre cette liste indique si l'application apparaît en haut.
Ces indicateurs permettent de fixer des objectifs et de suivre la régression. Si une nouvelle fonctionnalité augmente la consommation, cela devient visible.
Tableau comparatif des impacts énergétiques par type de ressource
Le tableau ci-dessous résume l'impact relatif des fonctionnalités communes dans les applications. Les valeurs ne sont pas absolues, mais elles permettent d'établir des priorités.
| Ressource | Impact énergétique | Observations | Astuce |
|---|---|---|---|
| GPS de haute précision | Élevé | Consomme la batterie rapidement | Utiliser une faible précision lorsque cela est possible |
| Vidéo plein écran | Élevé | GPU et écran constamment actif | Réduisez la fréquence d'images et la luminosité automatique |
| Diffusion audio | Moyen | Plus petit que la vidéo, mais constant | Cache intelligent et débit adaptatif |
| Sondages fréquents sur le réseau | Moyen à élevé | Gardez la radio active | Migrer vers le push et le batching |
| Animations complexes | Moyen | GPU et CPU | Simplifiez les transitions |
| Synchronisation en arrière-plan | Moyen | Dépend du volume de données | Planifier et utiliser l'interruption |
| Notifications poussées | Basse | Si configuré correctement | Évitez de réveiller l'application inutilement |
| Lecture du capteur | Variables | Dépend du capteur | Éteindre lorsqu'il n'est pas utilisé |
Ce tableau ne remplace pas les tests réels, mais fournit une base pour discuter des priorités.
Liste de contrôle de diagnostic rapide
Avant de jouer avec le code, effectuez un diagnostic rapide pour détecter les problèmes évidents. Utilisez cette liste de contrôle :
- L'application consomme-t-elle de la batterie même lorsqu'elle n'est pas ouverte ?
- Y a-t-il des services en arrière-plan qui s'exécutent inutilement ?
- L'application se classe-t-elle en tête du classement de consommation du système ?
- L'appareil chauffe-t-il lors de flux simples ?
- Y a-t-il des demandes de réseau très fréquentes et sans justification ?
- L'application maintient-elle l'écran actif inutilement ?
- L'emplacement est-il actif en permanence ?
- Y a-t-il des journaux excessifs et des écritures constantes sur le disque ?
Si vous répondez oui à plusieurs questions, il y a de fortes chances que la consommation soit élevée. À partir de là, vous choisissez les outils sur lesquels enquêter.
Outils pour mesurer la consommation sur Android
Sur Android, il existe des outils natifs et externes. Les principaux :
- Battery Historian : permet d'analyser la consommation par processus et d'identifier les wakelocks. Excellent pour le débogage en arrière-plan.
- Android Studio Profiler : affiche le processeur, la mémoire et le réseau en temps réel. Aide à corréler la consommation et les pics.
- adb dumpsys Batterystats : génère des rapports détaillés. Cela nécessite des connaissances, mais c’est puissant.
- Paramètres système : la liste de consommation par application est simple, mais utile pour valider l'impact sur l'utilisateur réel.
La combinaison de Battery Historian et de Profiler est généralement suffisante dans la plupart des cas.
Outils pour mesurer la consommation sur iOS
Sur iOS, l'accès aux données est plus restreint, mais il existe quand même de bonnes options :
- Instruments (Energy Log) : affiche l'énergie, le CPU et le GPU avec une chronologie détaillée.
- Xcode Metrics : analyse la consommation du réseau, du processeur et de l'énergie lors des tests.
- Rapport de batterie sur iOS : l'utilisateur voit la consommation par application et vous pouvez la comparer avec des applications similaires.
La clé sur iOS est d’optimiser les tâches en arrière-plan et d’éviter d’abuser de la localisation.
Des principes d'optimisation qui fonctionnent toujours
Il existe des principes universels qui réduisent la consommation. Ils servent de guide général :
- Moins de fréquence : tout ce qui s'exécute toutes les secondes peut s'exécuter toutes les minutes ou plus.
- Moins de durée : toute tâche doit durer le moins de temps possible.
- Moins de travail : réduisez le volume de données, la taille de l'image et la complexité de la mise en page.
- Moins de concurrence : les tâches parallèles peuvent consommer plus que nécessaire.
- Moins de réveils : moins l'application réveille le système, mieux c'est.
Ces principes s'appliquent au réseau, au CPU et aux capteurs. Remettez toujours en question la véritable nécessité de la tâche.
Optimisation du réseau : le plus gros gain caché
Le réseau est l’une des plus grandes pertes d’énergie. Chaque fois que l'application active la radio pour envoyer ou recevoir des données, le système quitte le mode économie. Cela signifie que les petites demandes fréquentes coûtent plus cher qu’une demande importante et bien groupée.
Bonnes pratiques :
- Batching : regrouper plusieurs requêtes en une seule soumission.
- Caching : évitez de télécharger le même contenu à plusieurs reprises.
- Delta sync : envoie uniquement les différences, pas l'objet complet.
- Réessayer avec backoff : évitez les tentatives de boucle sur un mauvais réseau.
- Compression : réduit la taille de la charge utile.
Une stratégie simple qui génère des résultats consiste à réduire la fréquence de synchronisation et à augmenter l'intervalle lorsque l'application est en arrière-plan.
Optimisation de la localisation
L'emplacement est un autre méchant. Le GPS de haute précision consomme beaucoup. Utilisez une faible précision lorsque l’objectif n’a pas besoin de coordonnées exactes. Il est également important d’éteindre la localisation dès que l’objectif est atteint.
Exemples d'approche :
- Pour les applications de livraison, utilisez la haute précision uniquement lors de la livraison.
- Pour les applications d'actualités, utilisez la localisation uniquement lors du premier accès.
- Pour les applications de fitness, permettez à l'utilisateur de choisir le niveau de précision.
Une autre pratique consiste à utiliser le géorepérage au lieu de mises à jour constantes. Le système optimise la consommation lorsque l'application utilise les API appropriées.
Optimisation du processeur et du rendu
CPU en utilisation constante et symptôme clair de consommation. De mauvaises boucles, un JSON volumineux, un cryptage excessif et des animations lourdes sont des causes courantes.
Recommandations :
- Évitez les boucles d'interrogation. Échangez contre des événements.
- Réduire la complexité de l'analyse et des objets intermédiaires.
- Désactivez les animations d'arrière-plan.
- Évitez les rendus inutiles dans des frameworks réactifs.
- Utilisez le chargement différé pour les grandes listes.
Lorsque l'application s'affiche efficacement, l'utilisateur sent que l'appareil est plus cool et plus réactif.
Tâches en arrière-plan : le domaine dangereux
Les tâches en arrière-plan sont puissantes, mais elles peuvent détruire votre batterie si elles sont utilisées avec négligence. L’idéal est d’utiliser les API du système, qui limitent déjà la fréquence et les exécutions groupées.
Sur Android, utilisez WorkManager et JobScheduler. Sur iOS, utilisez BackgroundTasks et Silent Push. Évitez de démarrer des services constants, surtout si l'utilisateur ne voit pas d'avantage immédiat.
Une règle générale : si l'utilisateur n'a pas explicitement demandé une tâche, celle-ci ne doit pas s'exécuter en arrière-plan à haute fréquence.
Cas courant : chat et notifications
Les applications de chat ont tendance à consommer de la batterie lorsqu'elles utilisent des connexions persistantes mal configurées. La solution, presque toujours, consiste à utiliser les notifications push et à n'ouvrir une connexion que lorsque l'utilisateur est actif.
Pour réduire la consommation :
- Utilisez les notifications push au lieu des sondages.
- Évitez de garder les sockets actives en arrière-plan.
- Ajustez le rythme cardiaque de connexion.
- Suspendez les mises à jour lorsque l'application est en arrière-plan.
Ces mesures réduisent la consommation sans affecter l'expérience.
Cas courant : flux infinis et réseaux sociaux
Les flux à défilement infini génèrent de la consommation car ils effectuent des requêtes constantes, chargent de grandes images et maintiennent le processeur actif pendant le défilement.
Bonnes pratiques :
- Téléchargez des images dans des tailles appropriées.
- Utilisez des espaces réservés légers.
- Pré-récupérer seulement une partie du contenu.
- Limiter les animations au scroll.
Cela évite que l'application ne devienne une perte d'énergie pendant de longues sessions.
Cas courant : les applications vidéo
La vidéo est l’une des charges les plus lourdes. Il existe néanmoins des optimisations possibles :
- Ajustement dynamique du débit binaire.
- Réduction de la fréquence d'images lorsque l'utilisateur n'interagit pas.
- Désactivez les visuels supplémentaires.
- Autoriser le téléchargement hors ligne, réduisant ainsi l'utilisation du réseau.
Ces stratégies aident à équilibrer la qualité et la durée de vie de la batterie.
Liste de contrôle d'optimisation par couche
Utilisez cette liste de contrôle pour examiner votre application en couches. Il vous aide à identifier rapidement les zones à fort impact.
Réseau
- Les demandes sont-elles regroupées en lots ?
- Existe-t-il un cache efficace ?
- L'application empêche-t-elle les sondages fréquents ?
- Les charges utiles sont-elles compressées ?
- Y a-t-il une nouvelle tentative avec interruption ?
- La synchronisation en arrière-plan est-elle limitée ?
Processeur et mémoire
- Y a-t-il des boucles ou des tâches fréquentes sans pause ?
- Y a-t-il une analyse JSON excessive ?
- L'application évite-t-elle les recalculs inutiles ?
- Les gros objets sont-ils libérés correctement ?
- L'application empêche-t-elle les fuites qui obligent le système à travailler plus fort ?
Interface utilisateur et GPU
- Les animations sont-elles vraiment nécessaires ?
- Y a-t-il un nouveau rendu excessif ?
- Les images sont-elles optimisées ?
- Les transitions sont-elles simples ?
- L'application évite-t-elle de garder l'écran actif inutilement ?
Capteurs et matériel
- Le GPS n'est utilisé qu'en cas de nécessité ?
- L'appareil photo est-il ouvert uniquement pendant l'utilisation ?
- Le Bluetooth et le NFC sont-ils désactivés lorsqu'ils sont inactifs ?
- Des capteurs secondaires sont-ils utilisés inutilement ?
Contexte
- Les tâches en arrière-plan sont-elles planifiées par le système ?
- L'application empêche-t-elle les longs wakelocks ?
- Les notifications silencieuses sont-elles limitées ?
- La synchronisation en arrière-plan respecte-t-elle les horaires appropriés ?
Cette liste de contrôle peut être intégrée à l'examen des fonctionnalités et à l'assurance qualité.
Comparaison : application légère et application lourde
La meilleure façon de comprendre l’impact et de comparer. Une application légère ne signifie pas pauvre en ressources, mais plutôt intelligente dans l'utilisation de l'appareil. Ci-dessous une comparaison simple :
| Apparence | Application légère | Application lourde |
|---|---|---|
| Synchroniser | Lot, intervalles plus grands | Sondage constant |
| Localisation | Sur demande | Toujours allumé |
| Interface utilisateur | Animations simples | Animations complexes et constantes |
| Images | Optimisé et réactif | Grandes images non compressées |
| Contexte | Tâches planifiées | Services toujours disponibles |
| Réseau | Cache et delta | Répéter les téléchargements |
| Expérience | Pas de chauffage | Chauffage fréquent |
Cette comparaison est utile pour éduquer les parties prenantes et justifier les priorités d’optimisation.
Comment créer des objectifs de consommation de batterie
Les objectifs aident l’équipe à rester concentrée. Un moyen simple et définir :
- Consommation maximale pour 30 minutes d'utilisation typique.
- Consommation maximale par heure en arrière-plan.
- Limite de wakelocks par heure.
Ces objectifs varient selon la catégorie. Une application cartographique coûte naturellement plus cher qu’une application de lecture. Mais même sur les cartes, il existe des limites acceptables.
Intégrer la batterie dans le cycle de développement
Pour garantir une amélioration continue, les batteries doivent entrer dans le cycle de développement :
- Pendant l'idéation : évaluer l'impact énergétique de la fonctionnalité.
- En design : évitez les flux qui maintiennent l'écran allumé inutilement.
- En implémentation : utilisez des API efficaces et évitez les sondages.
- En QA : exécutez le script de consommation et comparez-le avec la référence.
- Aucune version : surveillez les commentaires des utilisateurs sur la batterie.
Cela réduit la régression et évite que la consommation ne se détériore à chaque version.
Comment gérer les compromis en matière de batterie
Il n’est pas toujours possible de réduire la puissance de la batterie sans perte. Quelques compromis courants :
- Réduisez la qualité de l'image pour économiser de l'énergie.
- Augmentez l'intervalle de synchronisation et perdez la mise à jour instantanée.
- Utilisez une localisation de faible précision et perdez des détails.
- Réduisez les animations et perdez la sensation premium.
Le rôle du produit est de décider quel compromis est judicieux. Dans de nombreux cas, l’utilisateur préfère une plus grande autonomie aux détails visuels.
Liste de contrôle de la version finale
Avant de publier, utilisez cette liste de contrôle finale :
- L'application n'apparaît pas en haut de la consommation du système.
- La consommation dans les 30 minutes suivant l'utilisation est typique et acceptable.
- La consommation de fond est faible.
- Il n'y a pas de wakelocks longs ou excessifs.
- L'emplacement n'est pas actif sans utilisation.
- Les requêtes réseau sont regroupées.
- L'application ne chauffe pas pendant le streaming normal.
- Le retour interne n'indique pas que la batterie est épuisée.
Si cette liste de contrôle est suivie, le risque de problèmes réels est considérablement réduit.
Comment mesurer la consommation en laboratoire et sur le terrain
Mesurer la batterie uniquement en laboratoire est utile, mais pas suffisant. Le comportement réel des utilisateurs inclut un réseau instable, une luminosité élevée, le multitâche et des dizaines d'applications en arrière-plan. L’idéal est de combiner des tests contrôlés avec la collecte de signaux en production. En laboratoire, vous créez la répétabilité ; sur le terrain, vous validez si le gain apparaît réellement dans la vraie vie. Les deux réunis apportent la confiance nécessaire pour décider des libérations et éviter la régression.
En laboratoire, utiliser un appareil standard, avec une pile calibrée et le même état initial. Le script de test doit être détaillé, avec des étapes claires et une durée mesurée. En production, l'accent doit être mis sur les signaux indirects : temps d'utilisation, taux de retour, réclamations et classement de consommation du système. Même si vous ne disposez pas de wattheures exacts en production, le comportement global en dit long. Si le taux de désinstallation augmente après une version et que plusieurs utilisateurs se plaignent de la batterie, cela devient un signe d'avertissement.
Une pratique qui fonctionne bien consiste à créer un petit groupe interne avec des appareils standards. Chaque version passe par ce groupe et une simple feuille de route. Parallèlement, l'équipe observe les données d'assistance et les avis dans le magasin. Ce crossover réduit les risques et accélère l’apprentissage.
Méthodologie de test avec script et tableau de résultats
Un bon script de test doit refléter le flux réel des utilisateurs. Si l'application est destinée à la livraison, l'itinéraire doit inclure la recherche, la carte, la sélection de produits, le paiement et le suivi. Si l'application est du contenu, elle inclut le défilement, la vidéo et le partage. Vous trouverez ci-dessous un exemple d'itinéraire standard de 30 minutes :
- Ouvrez l'application, connectez-vous et chargez la page d'accueil (5 minutes).\n2. Naviguez à travers 3 écrans principaux (5 minutes).\n3. Effectuer l'action principale du produit (10 minutes).\n4. Effectuer une action secondaire, telle que partager ou enregistrer (5 minutes).\n5. Laissez l'application en arrière-plan (5 min).
L’objectif n’est pas seulement de mesurer la consommation totale, mais de comprendre où se situent les pics. Utilisez un tableau de résultats pour comparer les versions :
| Version | Consommation totale en 30 minutes | Pic du processeur | Météo en arrière-plan | Observations |\n| --- | --- | --- | --- | --- |\n| 1.4.0 | 7% | 65% pendant 2 minutes | 5 minutes | Spikes lors de l'ouverture de la carte |\n| 1.5.0 | 9% | 82% pendant 4 minutes | 5 minutes | Nouvelles animations |\n| 1.5.1 | 6% | 55% pendant 2 minutes | 5 minutes | Cache optimisé |\n+ Avec ce tableau, il est clair si une caractéristique a dégradé la consommation et quelle partie doit être ajustée. L'équipe est capable de prendre des décisions basées sur des données plutôt que sur des opinions.
Comment interpréter l'historien de la batterie et le journal énergétique
Les outils de diagnostic peuvent sembler complexes, mais ce n’est pas obligatoire. L'objectif principal est d'identifier quand l'application empêche l'appareil de se mettre en veille ou lorsqu'une fonctionnalité est active trop longtemps. Dans Battery Historian, les deux lignes les plus importantes sont wakelocks et jobs. S'il y a de nombreux wakelocks longs, l'application force le processeur à rester actif. S'il y a de nombreuses tâches en séquence, il peut y avoir une synchronisation excessive.
Dans le journal d'énergie iOS, observez le graphique d'énergie et les pics de CPU. Si la ligne électrique reste haute même lorsque l’application est en arrière-plan, quelque chose ne va pas. Un autre signal est le temps d’utilisation du réseau. Si le réseau est actif en arrière-plan, il vaut la peine de revoir la stratégie de synchronisation.
N'essayez pas de tout interpréter d'un coup. Commencez par deux questions : l’application réveille-t-elle l’appareil inutilement ? et l'application est active en arrière-plan alors qu'elle devrait être en veille ? Résoudre ce problème génère déjà une grande amélioration.
Variables qui influencent la consommation et confondent les tests
Certaines variables modifient les résultats sans que l'application ne change. Si vous ne contrôlez pas, vous pouvez tirer de fausses conclusions :
- Luminosité de l'écran : et l'un des plus gros consommateurs. Ajustez et réparez.\n- Réseau : la 4G et la 3G utilisent plus que le Wi-Fi.\n- Batterie dégradée : les anciens appareils consomment plus rapidement.\n- Température ambiante : la chaleur réduit l'efficacité de la batterie.\n- Applications en arrière-plan : interfèrent avec la consommation totale.\n Avant de conclure à une régression, assurez-vous que les tests étaient comparables.
Optimisation dans les applications hybrides et multiplateformes
Dans les applications hybrides comme React Native, Flutter et WebView, il existe des couches supplémentaires qui peuvent augmenter la consommation. Une utilisation inefficace du pontage entre JS et natif peut conduire à une consommation élevée de CPU. Un autre risque est le manque de soin apporté au re-rendu, qui est plus courant dans les frameworks réactifs.
Bonnes pratiques pour les hybrides :\n - Évitez setState à haute fréquence.\n- Anti-rebond dans les événements de défilement et d'entrée.\n- Réduisez les auditeurs actifs en permanence.\n- Optimisez les images et réduisez les ombres et le flou.\n- Utilisez des composants natifs lorsque le flux nécessite des performances.\n Même dans les applications hybrides, le gain le plus important provient généralement de la réduction du réseau et de l’arrière-plan, et non des micro-optimisations de l’interface utilisateur.
Impact des SDK tiers et de la publicité
Les SDK tiers sont une cause courante de consommation. Les SDK d'analyse, de publicités, de push et antifraude peuvent ajouter des tâches en arrière-plan, des connexions persistantes et des appels réseau invisibles à l'équipe. Si l'application devient lourde sans raison apparente, consultez les SDK. Vérifiez lesquels exécutent des tâches périodiques et lesquels maintiennent les services actifs.
Une pratique recommandée consiste à isoler les SDK et à mesurer la consommation avec et sans eux. Si un SDK consomme trop, évaluez les alternatives ou ajustez les paramètres. Dans les publicités, réduisez les actualisations des bannières et préférez les formats qui ne nécessitent pas de mise en réseau constante. Dans l'analyse, regroupez les événements par lots pour réduire les demandes.
Stratégies de suivi de la production
En production, vous n'avez pas un accès complet aux mesures de puissance, mais vous pouvez surveiller les signaux indirects. Quelques exemples :\n
- Taux de désinstallation après sortie.\n- Avis mentionnant la batterie ou le chauffage.\n- Durée moyenne de session avant abandon.\n- Fréquence d'ouverture de l'application.\n- Pourcentage d'utilisateurs avec le mode économie actif.\n Faites correspondre ces signaux avec les journaux internes. Si la durée de la session diminue et que l’assistance reçoit des plaintes concernant la batterie, il existe une forte indication de régression. Ces signaux vous permettent de vous ajuster rapidement sans attendre des semaines.
Liste de contrôle du produit et communication avec l'utilisateur
Toute optimisation n’est pas invisible. Dans certains cas, l'utilisateur doit comprendre pourquoi une fonctionnalité demande une autorisation de localisation ou pourquoi une tâche s'exécute en arrière-plan. Lorsque l’application l’explique bien, l’utilisateur tolère mieux la consommation. Par conséquent, l'équipe produit doit examiner :\n
- Textes d'autorisation en langage clair.\n- Avertissements lorsqu'une tâche lourde est active.\n- Options pour limiter la consommation, comme le mode économique.\n- Explication de la raison pour laquelle l'application utilise la localisation.\n Cette communication réduit les plaintes et améliore la perception de contrôle de l'utilisateur.
Plan d'action sur 30 jours pour réduire la batterie
Si l’application souffre d’une forte consommation, un plan d’action permet d’organiser le travail. Un exemple de plan sur 30 jours :\n
- Semaine 1 : mesurez la ligne de base, identifiez les trois principales causes, créez un script de test.\n- Semaine 2 : optimisez le réseau et l'arrière-plan, réduisez les interrogations, implémentez le cache.\n- Semaine 3 : examinez l'utilisation de la localisation et des capteurs, ajustez la précision.\n- Semaine 4 : optimisez l'interface utilisateur et les images, réévaluez les SDK, comparez les résultats.\n À la fin, répétez le script et comparez-le avec la ligne de base. Cela crée un cycle d’amélioration continue.
Questions pour examiner les PR et les nouvelles fonctionnalités
Pour éviter la régression, incluez des questions simples dans chaque évaluation :\n
- Cette fonctionnalité génère-t-elle des requêtes supplémentaires ? À quelle fréquence ?\n- Cela dépend-il de l'emplacement ou des capteurs ? Avec quelle précision ?\n- Fonctionne-t-il en arrière-plan ? À quel intervalle ?\n- Cette fonctionnalité ajoute-t-elle des animations lourdes ?\n- Ajoute-t-elle de nouveaux SDK ? Quelles tâches effectuent-ils ?\n Cette liste de contrôle préventive prévient les problèmes avant qu'ils n'atteignent l'utilisateur.
Comment le système d'exploitation économise de l'énergie
Comprendre les stratégies système vous aide à créer des applications plus efficaces. Sur Android, il existe des modes tels que Doze et App Standby, qui limitent les activités en arrière-plan lorsque l'appareil est arrêté ou lorsque l'application n'est pas utilisée pendant une longue période. Sur iOS, les tâches en arrière-plan sont limitées et s'exécutent dans des fenêtres courtes. Si l'application tente d'échapper à ces règles, le système peut limiter ou interrompre les processus, ce qui crée une instabilité.
Sur Android, les applications sont placées dans des « compartiments » d'utilisation (actifs, actifs, fréquents, rares). Plus l’utilisateur l’utilise, plus l’application dispose de liberté. Si l'application tente d'exécuter des tâches fréquentes alors qu'elle se trouve dans un compartiment moins actif, le système peut retarder ou se bloquer, ce qui gaspille la durée de vie de la batterie sans réel gain. Par conséquent, la planification des tâches en fonction de la priorité des utilisateurs est essentielle.
Sur iOS, si l'application tente de maintenir les tâches constantes en arrière-plan, le système peut déprioriser ou suspendre l'application. Au lieu d’essayer d’éviter cela, la bonne stratégie consiste à aligner l’application sur le comportement attendu du système.
Budget énergétique par fonctionnalité
Un moyen pratique de discuter des batteries avec les parties prenantes et de créer un budget énergétique par fonctionnalité. Considérez cela comme un budget financier : chaque fonctionnalité a une limite énergétique acceptable. Cela permet de prioriser les optimisations et d’éviter que de nouvelles fonctionnalités compromettent l’ensemble de l’application.
Exemple de citation :\n
- Alimentation et lecture : faible consommation.\n- Cartes et itinéraires : consommation moyenne à élevée.\n- Vidéo et streaming : consommation élevée, mais concentrée.\n- Synchronisation en arrière-plan : faible consommation, mais continue.\n Lors de la définition de ce budget, l’équipe précise que toutes les fonctionnalités ne peuvent pas consommer le même niveau d’énergie. Cela crée de la discipline et empêche la consommation d’augmenter avec le temps.
Anti-modèles courants qui déchargent la batterie
Certaines erreurs se répètent dans pratiquement toutes les applications. L'identification de ces anti-modèles accélère l'amélioration :\n
- Interrogation toutes les quelques secondes pour mettre à jour les données.\n- Animations en boucle même sans interaction.\n- Travaux en arrière-plan qui s'exécutent même lorsque l'utilisateur n'a pas ouvert l'application depuis des jours.\n- Synchronisation simultanée de plusieurs modules.\n- WebViews avec un contenu lourd qui exécute des scripts sans contrôle.\n- Journaux de débogage permanents en production.\n- Téléchargement de photos sans compression.\n- Recharger les données complètes lorsqu'une seule partie change.\n Éviter ces erreurs apporte des gains immédiats sans refactorisation majeure.
Tableau des intervalles de synchronisation recommandés
Lorsqu’il n’existe pas de règle commerciale claire, utilisez des fourchettes prudentes. Le tableau ci-dessous présente des suggestions courantes :\n | Type de données | Gamme recommandée | Remarque |\n| --- | --- | --- |\n| Actualités et contenu éditorial | 30 à 60 minutes | Mises à jour sans impact sur la batterie |\n| Données financières non critiques | 15 à 30 minutes | Ajuster en fonction de l'urgence |\n| Messages critiques | Pousser avec repli | Éviter les sondages |\n| Mise à jour de l'emplacement | Sur demande | Haute précision uniquement dans des tâches spécifiques |\n| Synchronisation des stocks | 1 à 4 heures | Peut être en arrière-plan |\n Ces gammes ne sont qu’un point de départ. L'idéal est d'utiliser la fréquence la plus basse qui préserve néanmoins la valeur pour l'utilisateur.
Batterie, température et performances perçues
Lorsque la consommation augmente, la température de l'appareil augmente. Cela active des mécanismes de protection, qui réduisent les performances. L'utilisateur remarque une lenteur et l'associe à l'application, même si le problème provient de la consommation d'énergie. Cet effet de chaîne est l’une des principales raisons de considérer les batteries comme faisant partie de l’expérience utilisateur. Une application froide a tendance à être perçue comme rapide, tandis qu’une application qui chauffe génère une perception négative, même si ses écrans sont beaux.
Par conséquent, lors de l’évaluation des performances, ne regardez pas uniquement les FPS et le temps de chargement. Observez également la température et la stabilité. Si l'application chauffe lors de tâches simples, c'est le signe d'une utilisation élevée du processeur ou d'une utilisation excessive du réseau.
Stratégies de mise en cache pour réduire l'énergie
Le cache n’est pas seulement une question de performances. Il réduit l’utilisation du réseau et, par conséquent, la consommation d’énergie. Il existe trois types de cache utiles :\n
- Cache en mémoire : bon pour les données temporaires, mais consomme de la RAM.\n- Cache disque : idéal pour les images et les documents, avec expiration.\n- Cache intelligent : stocke les données les plus utilisées et les invalide en fonction de la version.\n Le secret est de définir des politiques claires. Par exemple, les images peuvent avoir une expiration de 7 jours, les données de profil peuvent avoir une courte expiration et les données de liste ne peuvent être mises à jour que lorsque l'utilisateur effectue une actualisation. Ces politiques évitent les demandes inutiles.
Comment gérer la batterie dans les applications avec WebView
Les applications avec WebView peuvent masquer une consommation élevée car les scripts et les animations s'exécutent dans le navigateur intégré. Pour réduire la consommation :\n
- Désactivez la lecture automatique des vidéos.\n- Limitez les animations et les effets dans CSS.\n- Évitez les scripts qui s'exécutent à intervalles courts.\n- Chargez uniquement ce qui est nécessaire sur le premier écran.\n- Utilisez Service Worker avec prudence, car il peut maintenir le travail en arrière-plan.\n En contrôlant le contenu Web, vous évitez que l'application ne devienne un navigateur lourd.
Politiques d'autorisation et impact sur la consommation
Les autorisations telles que la localisation en arrière-plan, les notifications et l'accès Bluetooth augmentent le potentiel de consommation. Idéalement, demandez l’autorisation uniquement lorsque l’utilisateur comprend la valeur. Si l'application demande l'autorisation lors du premier accès, l'utilisateur peut la refuser et vous perdez la possibilité de vous expliquer. Lorsque l’autorisation est demandée au bon moment, vous augmentez le taux d’octroi et réduisez les plaintes.
Ce soin réduit également la consommation. Les autorisations activées sans utilisation réelle ne font que créer des tâches en arrière-plan et épuiser la batterie.
Comment mettre en place un benchmark interne
Un benchmark interne compare votre application à celle de vos concurrents. Utilisez le même appareil et le même script. Si le concurrent consomme moins, cela contribue à justifier des investissements en optimisation. Le benchmark permet également de calibrer les objectifs. Si votre application consomme 10 % en 30 minutes et que votre concurrent en consomme 6 %, il y a clairement place à l'amélioration.
Créez une feuille de calcul avec des données et mettez-la à jour chaque trimestre. Cela devient un instrument de produit et de stratégie, et pas seulement un instrument technique.
Liste de contrôle d'assurance qualité axée sur la batterie
Le contrôle qualité peut être très utile pour contrôler la consommation si vous disposez d'un script simple :\n
- Exécutez un script d'utilisation typique et enregistrez la consommation.\n- Exécutez l'application en arrière-plan pendant 1 heure et mesurez la consommation.\n- Vérifiez si la localisation est active sans utilisation.\n- Vérifiez si l'application chauffe pendant la navigation normale.\n- Vérifiez que les notifications ne réveillent pas l'application inutilement.\n- Comparez avec la version précédente.\n Cette liste de contrôle empêche les nouvelles versions d'augmenter la consommation sans que l'équipe ne s'en aperçoive.
FAQ rapide sur la batterie dans les applications
Pourquoi mon application consomme-t-elle de la batterie même lorsqu'elle est fermée ? Généralement dû à des tâches en arrière-plan, à des services ou à une synchronisation très fréquente. Vérifiez les wakelocks et les tâches planifiées.
Comment savoir si la consommation est élevée pour la catégorie ? Comparez avec des applications similaires sur le même appareil. Si le vôtre apparaît ci-dessus, il y a un problème.
Les notifications push consomment beaucoup de batterie ? En général non, à condition qu’ils soient bien configurés. La plus grosse dépense vient des notifications qui réveillent l’application à plusieurs reprises.
Le GPS consomme toujours beaucoup ? Oui, surtout en haute précision. Utiliser uniquement lorsque cela est nécessaire.
Le cache aide avec la batterie ? Oui, car cela réduit l’usage du réseau, gros consommateur d’énergie.
L'optimisation de la batterie nuit-elle aux performances ? Pas nécessairement. Dans de nombreux cas, cela améliore les performances car cela réduit le travail inutile.
Conclusion
La consommation de la batterie n’est pas qu’un détail technique. Et un attribut central de la qualité. Une application économe en énergie offre plus de valeur, augmente la confiance des utilisateurs et améliore la rétention. La bonne nouvelle est que la plupart des améliorations proviennent de bonnes pratiques simples : réduire la fréquence des tâches, utiliser le cache, éviter la localisation constante et contrôler l’arrière-plan.
Grâce à la liste de contrôle et aux principes de ce guide, votre équipe peut diagnostiquer, comparer et améliorer la consommation de la batterie de manière structurée. Le résultat est une application plus légère, plus fiable et plus compétitive.
A lire aussi
- Consommation de la batterie dans les applications : comparaison avec des cas réels
- Consommation de la batterie dans les applications : comparaison et guide rapide
- Performance des applications : exemples réels -Performance des applications : exemples réels en pratique
- Consommation de la batterie dans les applications : comment optimiser les performances mobiles
- [Application hybride Qu'est-ce que 7
