Recommandations et liste de vérification sur les tâches en arrière-plan (HTML)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Créez des tâches en arrière-plan plus abouties pour subvenir aux besoins de votre application et lui permettre ainsi de répondre aux exigences en matière d’exécution des tâches en arrière-plan.

Recommandations en matière de tâches en arrière-plan

Tenez compte des recommandations suivantes au moment de développer une tâche en arrière-plan et avant de publier votre application.

Fermer vos tâches en arrière-plan: N’oubliez pas que la tâche en arrière-plan doit appeler la méthode close() dès qu’elle est terminée. Si la tâche en arrière-plan ne se ferme pas d’elle-même, le processus chargé d’exécuter la tâche en arrière-plan risque toujours de consommer de la mémoire et de réduire l’autonomie de la batterie même si la tâche en arrière-plan est terminée ou a été annulée.

Quotas de processeur et réseau: ne dépassez pas le quota de processeur ou le quota d’utilisation de données réseau appliqué à votre tâche en arrière-plan. Les tâches en arrière-plan doivent être légères pour préserver l’autonomie de la batterie et assurer une meilleure expérience utilisateur pour les applications de premier plan. Pour plus d’informations sur les contraintes de ressource appliquées à la plupart des tâches en arrière-plan, voir Définition de tâches en arrière-plan pour les besoins de votre application.

Gérer les tâches en arrière-plan: Votre application doit obtenir la liste des tâches en arrière-plan inscrites, s’inscrire aux gestionnaires de progression et d’achèvement et gérer ces événements de manière appropriée. Vos tâches en arrière-plan doivent signaler leur progression, leur annulation et leur achèvement. Voir Comment obtenir une liste des tâches en arrière-plan en attente, Comment gérer une tâche en arrière-plan annulée et Comment surveiller la progression et l’achèvement des tâches en arrière-plan.

Mettre à jour le manifeste de l’application: Déclarez chaque tâche en arrière-plan dans le manifeste de l’application, de même que le type de déclencheur avec lequel elle est utilisée. À défaut, votre application ne pourra pas inscrire la tâche en arrière-plan au moment de l’exécution. Pour plus d’informations, voir Comment déclarer des tâches en arrière-plan dans le manifeste de l’application.

Préparez les mises à jour de l’application : Si votre application doit être mise à jour, créez et inscrivez une tâche en arrière-plan ServicingComplete (voir SystemTriggerType) pour faciliter l’exécution des mises à jour de l’application pouvant être nécessaires en dehors du contexte d’exécution au premier plan.

Tâches en arrière-plan pour les applications compatibles avec l’écran de verrouillage sur Windows: L’écran de verrouillage est une ressource partagée. Seulement sept applications peuvent être placées dans l’écran de verrouillage à un moment quelconque et une seule peut présenter une vignette large. Votre application peut assurer une bonne expérience utilisateur en demandant un accès à l’écran de verrouillage à l’aide de la méthode RequestAccessAsync et en s’assurant que votre application continuera de fonctionner sans pour autant figurer dans l’écran de verrouillage. Les applications qui ne sont pas placées dans l’écran de verrouillage peuvent toujours mettre à jour des vignettes, mettre à jour des badges, envoyer des notifications et s’inscrire à des déclencheurs d’événements système. Lorsque votre application se trouve au premier plan, l’expérience utilisateur ne doit jamais être perturbée si l’utilisateur ne l’a pas placée dans l’écran de verrouillage.

Lisez la Vue d’ensemble des écrans de verrouillage pour savoir si l’écran de verrouillage se trouve au bon emplacement pour votre application.

Demande d’exécution de tâches en arrière-plan pour les applications du Windows Phone Store:

Les applications du Windows Phone Store peuvent exécuter tous les types de tâches pris en charge sans être épinglées à l’écran de verrouillage. Toutefois, votre application doit appeler RequestAccessAsync avant d’inscrire n’importe quel type de tâche en arrière-plan. Cette méthode retourne BackgroundAccessStatus.Denied si le nombre maximal d’applications avec des tâches en arrière-plan dans le système a été dépassé ou si l’utilisateur a explicitement refusé les tâches en arrière-plan pour votre application dans les paramètres de l’appareil.

Pour les applications du Windows Phone Store, si votre application a été mise à jour, vous devez appeler RemoveAccess, puis RequestAccessAsync lorsque votre application se lance après avoir été mise à jour. Pour déterminer si votre application a été mise à jour, vous devez suivre le numéro de version de votre application à l’aide d’une valeur stockée dans les paramètres locaux. Lorsque votre application est lancée, vérifiez sa version, voyez si elle est plus récente que celle de paramètres locaux, puis appelez les éléments RemoveAccess et RequestAccessAsync. Pour ce faire, ajoutez du code similaire à ce qui suit et appelez-le depuis le gestionnaire d’événements de lancement de votre application.

function checkAppVersion() {
    var localSettings = Windows.Storage.ApplicationData.current.localSettings;
    var pkgVersion = Windows.ApplicationModel.Package.current.id.version;
    var backgroundExecMgr = Windows.ApplicationModel.Background.BackgroundExecutionManager;

    var appVersion = pkgVersion.build + "." +
                        pkgVersion.major + "." +
                        pkgVersion.minor + "." +
                        pkgVersion.revision;

    if (localSettings.values["appVersion"] != appVersion)
    {
        // Our app has been updated
        localSettings.values["appVersion"] = appVersion;

        // Call removeAccess
        backgroundExecMgr.removeAccess();
    }
        
    backgroundExecMgr.requestAccessAsync();
}

Liste de vérification relative aux tâches en arrière-plan

La liste de vérification suivante s’applique à toutes les tâches en arrière-plan.

  • Associez votre tâche en arrière-plan au déclencheur approprié.

  • Ajoutez des conditions pour assurer une exécution aboutie de votre tâche en arrière-plan.

  • Gérez la progression, l’achèvement et l’annulation de la tâche en arrière-plan.

  • N’affichez pas l’interface utilisateur en dehors des toasts, des vignettes et des mises à jour de badge à partir de la tâche en arrière-plan.

  • Appelez close() lorsque la tâche en arrière-plan a terminé.

  • Utilisez un dispositif de stockage persistant pour partager des données entre la tâche en arrière-plan et l’application.

  • Déclarez chaque tâche en arrière-plan dans le manifeste de l’application, de même que le type de déclencheur avec lequel elle est utilisée. Assurez-vous que le point d’entrée et les types de déclencheur sont corrects.

  • Écrivez des tâches en arrière-plan de courte durée. Ne dépassez pas les quotas de processeur ou réseau précisés dans la rubrique Définition de tâches en arrière-plan pour les besoins de votre application.

  • Ne comptez pas sur l’interaction utilisateur dans les tâches en arrière-plan.

  • Recherchez les erreurs d’inscription de la tâche en arrière-plan. Le cas échéant, tentez d’inscrire la tâche en arrière-plan une nouvelle fois avec d’autres valeurs de paramètres.

Windows : liste de vérification des tâches en arrière-plan pour les applications compatibles avec l’écran de verrouillage

Suivez ces recommandations lorsque vous développez des tâches en arrière-plan pour des applications pouvant figurer dans l’écran de verrouillage. Suivez les recommandations de la rubrique Recommandations et liste de vérification sur les vignettes d’écran de verrouillage.

  • Assurez-vous que votre application a besoin de figurer dans l’écran de verrouillage avant de la développer en tant qu’application compatible avec l’écran de verrouillage. Pour plus d’informations, voir Vue d’ensemble des écrans de verrouillage.

  • Vérifiez que votre application fonctionne toujours lorsqu’elle ne figure pas dans l’écran de verrouillage.

  • Demandez un accès à l’écran de verrouillage à l’aide de la méthode RequestAccessAsync.

  • Incluez une tâche en arrière-plan inscrite avec TimeTrigger et déclarez-la dans le manifeste de l’application. Assurez-vous que le point d’entrée et les types de déclencheur sont corrects. Il s’agit d’une condition de certification et cela permet à l’utilisateur de placer l’application dans l’écran de verrouillage.

  • Écrivez des tâches en arrière-plan de courte durée, même pour les applications compatibles avec l’écran de verrouillage. Ne dépassez pas les quotas de processeur ou réseau précisés dans la rubrique Définition de tâches en arrière-plan pour les besoins de votre application.

  • Pour les applications du Windows Phone Store, si l’appareil commence à manquer de mémoire, les tâches en arrière-plan peuvent être arrêtées sans avertissement et sans que l’événement OnCanceled ne soit déclenché. Cela permet de garantir l’expérience utilisateur de l’application au premier plan. Votre tâche en arrière-plan doit être conçue de manière à gérer ce scénario.

Rubriques associées

Autres rubriques relatives aux tâches en arrière-plan

Démarrage rapide : créer et inscrire une tâche en arrière-plan

Comment inscrire une tâche en arrière-plan

Comment déboguer une tâche en arrière-plan

Comment déclarer des tâches en arrière-plan dans le manifeste de l’application

Comment déclencher des événements de suspension, des événements de reprise et des événements en arrière-plan dans des applications du Windows Store (lors du débogage)

Autres recommandations relatives à l’écran de verrouillage

Vue d’ensemble des écrans de verrouillage

Affichage de vignettes sur l’écran de verrouillage

Recommandations et liste de vérification sur les vignettes d’écran de verrouillage