Le travail en arrière-plan désigne toute tâche que votre application doit effectuer lorsqu'elle n'est pas visible au premier plan, comme récupérer des données à partir d'un serveur ou traiter des images.

Pour créer des applications "citoyennes", c'est-à-dire résilientes, réactives et efficaces, qui fonctionnent bien sur tous les appareils, il est essentiel de maîtriser les complexités de l'exécution en arrière-plan.

Premiers pas avec le travail en arrière-plan

Consultez le guide sur le choix de la bonne API de tâches en arrière-plan pour votre cas d'utilisation, et tenez-en compte dans le contexte du cycle de vie des processus et des applications Android.
Guide
Il peut être difficile de choisir la bonne API de tâches en arrière-plan. Cette page vous explique clairement quand utiliser le travail asynchrone, WorkManager, les services de premier plan ou une autre option. Découvrez l'API la mieux adaptée à votre cas d'utilisation spécifique.
Guide
Découvrez les concepts fondamentaux du cycle de vie des processus Android et leur impact sur le comportement et la gestion des ressources de votre application. Découvrez comment le système gère les processus d'application en fonction de l'état d'activité. Vous pourrez ainsi concevoir des applications résilientes et efficaces qui répondent correctement aux arrêts initiés par le système.

Solutions clés

WorkManager, les services de premier plan, les alarmes et les diffusions sont quelques-unes des API et des outils les plus courants pour effectuer des tâches en arrière-plan. Chaque solution aura des implications différentes pour l'autonomie de la batterie des appareils de vos utilisateurs.
WorkManager est la solution recommandée pour les tâches persistantes en arrière-plan sur Android. Découvrez comment utiliser cette bibliothèque puissante pour planifier des tâches qui persistent lors des redémarrages d'application et de l'appareil, et comprenez ses principales fonctionnalités pour gérer les contraintes et les stratégies de nouvelle tentative flexibles.
Les services de premier plan constituent un moyen efficace d'exécuter immédiatement des tâches qui ne doivent pas être interrompues. Découvrez quand et comment déclarer, lancer et arrêter un service de premier plan avec une notification persistante, en veillant à ce que votre application effectue des tâches critiques sans être arrêtée par le système.
Les alarmes sont un outil essentiel pour planifier les tâches en fonction du temps. Cette page explique comment utiliser AlarmManager pour planifier des alarmes exactes et inexactes pour les tâches qui doivent s'exécuter à une heure précise ou dans une fenêtre donnée, même lorsque votre application n'est pas en cours d'exécution. Il aborde également les bonnes pratiques pour gérer les alarmes et s'assurer qu'elles sont optimisées pour l'autonomie de la batterie.
Découvrez comment envoyer et recevoir des diffusions pour gérer les événements système et les messages provenant d'autres applications. Vous découvrirez également les récepteurs enregistrés dans le contexte et déclarés dans le fichier manifeste, ainsi que les restrictions système modernes qui s'appliquent à ces récepteurs.

Conseils généraux par cas d'utilisation

La solution adaptée varie en fonction de votre cas d'utilisation. Android fournit de nombreuses API spécifiques à des tâches, qui sont optimisées pour des scénarios particuliers et qui permettent souvent de réaliser de plus grandes économies d'énergie et de réduire les restrictions par rapport à l'utilisation de WorkManager et des services de premier plan.

Cette section répertorie certains des cas d'utilisation les plus courants et la solution recommandée.

La plupart des cas d'utilisation ne nécessitent la localisation que lorsque l'utilisateur interagit avec l'application. Toutefois, si votre application a besoin d'accéder à la localisation en arrière-plan, utilisez l'API Fused Location Provider. Exploitez cette API pour obtenir la dernière position connue mise en cache ou demander des mises à jour périodiques de la position.
Mettez à jour efficacement les GlanceAppWidgets lorsque l'application est en arrière-plan à l'aide de la méthode update.
Utilisez le Bluetooth à basse consommation (BLE) pour communiquer avec les périphériques en arrière-plan. Découvrez comment analyser, connecter et maintenir une connexion persistante aux appareils tout en respectant les restrictions au niveau du système et en économisant la batterie.
Pour suivre les pas sur les appareils mobiles, envisagez de lire les pas depuis Santé Connect, le magasin de données Android pour les données de santé et de remise en forme.
Pour les tâches en arrière-plan initiées par l'utilisateur qui impliquent un transfert de données (y compris le téléchargement et l'importation) et qui sont destinées à tenir l'utilisateur informé de la progression, utilisez le type de tâche "Tâche de transfert de données initiée par l'utilisateur". Ce type de tâche est optimisé pour les transferts de données de longue durée et bénéficie d'une priorité dans le système.
Utilisez la bibliothèque Media3 pour permettre la lecture en arrière-plan lorsque votre application n'est pas visible par l'utilisateur.

Comprendre les optimisations de l'efficacité énergétique

Il est essentiel de tenir compte des effets de votre travail en arrière-plan sur l'alimentation pour créer des applications Android de haute qualité. Il vous permet de créer des applications plus résilientes et plus économes en batterie en comprenant comment le système gère les ressources. L'optimisation de la consommation d'énergie permet de réduire la décharge de la batterie, d'empêcher le système de mettre fin à votre application et d'offrir une expérience utilisateur plus fluide.
Guide

Le système hiérarchise les demandes d'accès aux ressources en fonction de l'état de l'appareil, de l'état de l'application et du bucket de mise en veille de l'application.

Découvrez comment votre application peut fonctionner dans les limites des ressources de gestion de l'alimentation de l'appareil pour exécuter de manière fiable des tâches en arrière-plan.

Guide
Votre application peut avoir besoin d'empêcher le processeur de l'appareil de passer en état suspendu pour effectuer des tâches critiques. Ce guide vous aide à sélectionner les méthodes les plus appropriées pour maintenir un appareil en éveil.
Guide
Découvrez comment adapter votre application aux fonctionnalités Sommeil et Mise en veille des applications pour améliorer l'efficacité de la batterie et l'expérience utilisateur. En comprenant ces modes d'économie d'énergie, vous pouvez vous assurer que votre application fonctionne de manière optimale tout en minimisant son impact sur l'autonomie de la batterie de l'appareil.
Guide
Depuis Android 9, les appareils sont dotés de fonctionnalités de gestion de l'alimentation qui affectent toutes les applications. Découvrez comment tester votre application pour vous assurer qu'elle fonctionne correctement sur tous les appareils, y compris avec des fonctionnalités telles que l'économiseur de batterie, les buckets de mise en veille des applications et les restrictions en arrière-plan.

Dernières actualités