Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les applications Windows universelles doivent fonctionner de manière cohérente dans toutes les familles d’appareils. Sur les appareils alimentés par batterie, la consommation d’énergie est un facteur essentiel dans l’expérience globale de l’utilisateur avec votre application. Une autonomie d'une journée entière est une caractéristique souhaitable pour chaque utilisateur, mais elle nécessite que tous les logiciels installés sur l'appareil, y compris les vôtres, soient efficaces.
Le comportement des tâches en arrière-plan est sans doute le facteur le plus important du coût total de l’énergie d’une application. Une tâche en arrière-plan est toute activité de programme inscrite auprès du système à exécuter sans que l’application soit ouverte. Pour plus d’informations, consultez Créer et inscrire une tâche en arrière-plan hors processus .
Autorisations d’activité en arrière-plan
Sur les appareils de bureau et mobiles exécutant Windows 10, version 1607 ou ultérieure, les utilisateurs peuvent afficher leur « Utilisation de la batterie par application » dans la section Batterie des paramètres Windows. Ici, ils verront une liste d’applications et le pourcentage d’autonomie de la batterie que chaque application a consommée (hors de la quantité de durée de vie de la batterie utilisée depuis la dernière charge). Pour les applications UWP de cette liste, les utilisateurs peuvent sélectionner l’application pour ouvrir des contrôles liés à l’activité en arrière-plan.
Autorisations en arrière-plan sur mobile
Sur les appareils mobiles, les utilisateurs voient une liste de boutons radio qui spécifient le paramètre d’autorisation de tâche en arrière-plan pour cette application. L’activité en arrière-plan peut être définie sur « Toujours autorisé », « Jamais autorisé » ou « Géré par Windows », ce qui signifie que l’activité en arrière-plan de l’application est réglementée par le système en fonction d’un certain nombre de facteurs.
Autorisations en arrière-plan sur le bureau
Sur les appareils de bureau, le paramètre « Géré par Windows » est présenté sous la forme d’un commutateur bascule, défini sur Activé par défaut. Si l’utilisateur bascule vers Désactivé, il est présenté une case à cocher avec laquelle il peut définir manuellement les autorisations d’activité en arrière-plan. Lorsque la case est cochée, l’application est autorisée à exécuter des tâches en arrière-plan à tout moment. Lorsque la case est désactivée, l’activité en arrière-plan est désactivée.
Dans votre application, vous pouvez utiliser la valeur enum BackgroundAccessStatus retournée par un appel à la méthode BackgroundExecutionManager.RequestAccessAsync() pour déterminer son paramètre d’autorisation d’activité en arrière-plan actuel.
Tout cela est de dire que si votre application n’implémente pas la gestion responsable de l’activité en arrière-plan, l’utilisateur peut refuser complètement les autorisations en arrière-plan à votre application, ce qui n’est pas souhaitable pour l’une ou l’autre partie. Si votre application a été refusée pour s’exécuter en arrière-plan, mais nécessite une activité en arrière-plan pour effectuer une action pour l’utilisateur, vous pouvez avertir l’utilisateur et les pointer vers les paramètres Windows. Pour ce faire, lancez les paramètres Windows sur la page Détails de l’utilisation de la batterie ou des applications en arrière-plan.
Utiliser la fonctionnalité Économiseur de batterie
L’économiseur de batterie est une fonctionnalité de niveau système que les utilisateurs peuvent configurer dans Paramètres. Elle coupe toutes les activités en arrière-plan de toutes les applications lorsque le niveau de batterie tombe sous un seuil défini par l’utilisateur, à l’exception de l’activité en arrière-plan des applications qui ont été définies sur « Toujours autorisé ».
Vérifiez l’état du mode Économiseur de batterie à partir de votre application en référençant la propriété PowerManager.EnergySaverStatus . Il s’agit d’une valeur enum : EnergySaverStatus.Disabled, EnergySaverStatus.Off ou EnergySaverStatus.On. Si votre application nécessite une activité en arrière-plan et n’est pas définie sur « Toujours autorisé », elle doit gérer EnergySaverStatus.On en informant l’utilisateur que la ou les tâches en arrière-plan données ne s’exécuteront pas tant que l’économiseur de batterie n’est pas désactivé. Bien que la gestion des activités en arrière-plan soit l’objectif principal de la fonctionnalité Économiseur de batterie, votre application peut effectuer des ajustements supplémentaires pour économiser davantage d’énergie lorsque l’économiseur de batterie est activé. Dans le cas où l’économiseur de batterie est activé, votre application peut réduire son utilisation des animations, arrêter l’interrogation de l’emplacement ou retarder les synchronisations et les sauvegardes.
Optimiser davantage les tâches en arrière-plan
Voici des étapes supplémentaires que vous pouvez effectuer lors de l’inscription de vos tâches en arrière-plan pour les rendre plus sensibles à la batterie.
Utiliser un déclencheur de maintenance
Un objet MaintenanceTrigger peut être utilisé au lieu d’un objet SystemTrigger pour déterminer quand une tâche en arrière-plan démarre. Les tâches qui utilisent des déclencheurs de maintenance s’exécutent uniquement lorsque l’appareil est connecté à l’alimentation ac et qu’ils sont autorisés à s’exécuter plus longtemps. Consultez Utiliser un déclencheur de maintenance pour obtenir des instructions.
Utilisez le type de condition du système BackgroundWorkCostNotHigh
Les conditions système doivent être remplies pour que les tâches en arrière-plan s’exécutent (voir Définir des conditions pour exécuter une tâche en arrière-plan pour plus d’informations). Le coût de travail en arrière-plan est une mesure qui indique l’impact relatif sur l’énergie de l’exécution de la tâche en arrière-plan. Une tâche en cours d’exécution lorsque l’appareil est branché à l’alimentation ac est marquée comme faible (peu/aucun impact sur la batterie). Une tâche en cours d'exécution lorsque l'appareil est sur batterie avec l'écran désactivé est marquée comme élevé, car il y a probablement peu d'activité de programme en cours d'exécution sur l'appareil à ce moment-là, ce qui fait que la tâche en arrière-plan aurait un coût relatif plus élevé. Une tâche en cours d’exécution lorsque l’appareil est sur batterie avec l’écran allumé est marquée comme moyenne, car il y a probablement déjà une activité de programme présente, et la tâche en arrière-plan contribuerait un peu plus au coût énergétique. La condition système BackgroundWorkCostNotHigh retarde simplement la capacité de votre tâche à s’exécuter jusqu’à ce que l’écran soit activé ou que l’appareil soit connecté à l’alimentation ac.
Tester l’efficacité de la batterie
Veillez à tester votre application sur des appareils réels pour tous les scénarios à consommation élevée. Il est judicieux de tester votre application sur de nombreux appareils différents, avec l’économiseur de batterie activé et désactivé, et dans les environnements de puissance réseau variable.