Empêcher le redémarrage de l’application canevas sur Power Apps pour mobile

Lorsque vous exécutez une application canevas sur l’application mobile Power Apps, elle peut être redémarrée pour les raisons suivantes :

  • L’application utilise trop de mémoire totale.
  • L’application utilise trop de mémoire ou de traitement en même temps.
  • L’application est mise en arrière-plan : soit lorsque votre application spécifique utilise un contrôle natif (comme Ajouter une image ou Scanneur de codes-barres), soit lorsque l’application mobile Power Apps est mise en arrière-plan par l’utilisateur.

Ces limitations de mémoire et de traitement, qui sont particulièrement strictes lorsque l’application mobile Power Apps fonctionne en arrière-plan, sont imposées par le système d’exploitation (Android ou iOS). Si l’application utilise plus de ressources que celles disponibles sur votre appareil, l’application se réinitialisera. C’est un peu comme lorsque vous visitez une grande page web complexe, le navigateur web suspend la page si elle consomme trop d’énergie.

Sur les appareils Android, ce redémarrage de l’application peut ressembler à un arrêt non planifié car l’application est complètement fermée et l’utilisateur est ramené à l’écran d’accueil de l’appareil.

Utilisez cet article pour apprendre comment empêcher les redémarrages des applications canevas sur l’application mobile Power Apps.

Conseils de prévention pour les utilisateurs finaux

Bien que les améliorations les plus importantes soient généralement apportées par les fabricants d’applications, voici quelques conseils que les utilisateurs finaux peuvent utiliser pour réduire le nombre de redémarrages d’applications :

  • Dans l’application mobile Power Apps, sur la page du profil de l’utilisateur, sélectionnez Effacer le cache pour supprimer les données enregistrées. Notez que cette opération ne doit être effectuée que lorsque l’utilisateur final dispose de données, car l’effacement du cache supprimera les caches SaveData ou ceux des applications.
  • Sur les appareils Android, assurez-vous que l’application mobile Power Apps est prioritaire. Reportez-vous au manuel de votre appareil pour que l’application continue de fonctionner via les paramètres tels que l’optimisation de la batterie et la configuration de la veille de l’application.
  • Fermez toutes les applications en cours, à l’exception de l’application mobile Power Apps, et supprimez toutes les données inutiles de l’appareil, telles que les applications ou les images inutilisées.
  • Même si c’est contraignant, pensez à ralentir dans l’utilisation de l’application : faites une petite pause entre les navigations à l’écran ou après avoir pris des photos ou enregistré ou chargé des données.

Conseils de prévention pour les créateurs d’applications

Les créateurs d’applications sont les mieux placés pour améliorer la mémoire et réduire les redémarrages des applications. Lorsque vous créez une application, n’oubliez pas de l’optimiser pour qu’elle fonctionne sur l’appareil présentant les spécifications les plus basses que vos utilisateurs finaux utiliseront et suivez les bonnes pratiques en matière d’utilisation des ressources.

Notes

Étant donné que les redémarrages d’applications sont causés par le système d’exploitation qui limite la quantité de mémoire et de traitement qu’une application peut utiliser, il peut être nécessaire de combiner les mesures d’atténuation suggérées ci-dessous pour minimiser les redémarrages d’applications. Plus la mémoire et le traitement peuvent être réduits, à la fois au total et en une seule fois, moins l’application est susceptible de redémarrer.

Conseil

Vous pouvez connecter une session d’application mobile au Moniteur pour déterminer où votre application effectue des traitements lourds ou des opérations gourmandes en mémoire. Monitor est un outil qui offre aux créateurs une vue approfondie de ce que fait une application et comment elle le fait en enregistrant toutes les activités clés qui se produisent dans l’application pendant son exécution.

Problème Origine Correction
L’application redémarre lors du chargement d’un écran spécifique. Si un écran spécifique exécute trop de formules en même temps, l’application peut avoir une charge de traitement trop importante et être redémarrée par le système d’exploitation. Limitez le nombre de contrôles sur un écran et le nombre de formules exécutées lors du chargement de l’écran, ce qui peut nécessiter de diviser les écrans.

Évitez la dépendance des contrôles entre les écrans.

Empêchez l’utilisateur de prendre des mesures pendant les moments de forte activité. Par exemple, lors du chargement d’une grande galerie avec plusieurs filtres et recherches.

Envisagez d’utiliser des formules nommées.

Envisagez d’utiliser le réglage de l’application Chargement différé.
L’application redémarre après plusieurs navigations d’écran. Des fuites de mémoire se produisent sur les écrans, ce qui entraîne une augmentation de l’utilisation de la mémoire lorsque l’utilisateur navigue dans l’application. Activez le paramètre de l’application Conserver en mémoire les écrans visités récemment . Bien que cela augmente l’utilisation totale de la mémoire à court terme, car l’écran est conservé en mémoire, sur plusieurs navigations d’écran, cela permet d’éviter les fuites de mémoire.
L’application redémarre en exécutant SaveData/LoadData ou utilisez des connexions de données. L’opération SaveData et les connexions de données augmentent tous deux la mémoire totale utilisée par l’application. SaveData est également une opération lourde en termes de traitement. Le fait d’introduire de grandes quantités de données dans l’application et de les enregistrer pour une utilisation hors ligne (en particulier le contenu multimédia et les fichiers) peut amener l’application à dépasser la mémoire qui lui est allouée, ce qui oblige le système d’exploitation à redémarrer l’application. Optimisez la quantité de données introduites dans l’application via les connexions de données et enegistrées via SaveData.

Réduisez le nombre d’appels SaveData dans la mesure du possible.

L’activation du paramètre d’application Sélection de colonne explicite et la désactivation du paramètre Relations un-à-plusieurs et plusieurs-à-plusieurs de l’étendue d’enregistrement peuvent également contribuer à réduire les données introduites dans l’application.
L’application redémarre lorsqu’on utilise le contrôle Caméra. Le contrôle Caméra enregistre l’image capturée dans la mémoire. Cela peut augmenter l’utilisation de la mémoire de l’application, surtout si l’image capturée est enregistrée dans des variables ou dans SaveData à l’aide de la propriété OnStream. N’enregistrez pas d’autres images à part la dernière capturée.

Utilisez Photo au lieu de Flux pour capturer des images uniquement lorsque l’utilisateur appuie sur la caméra.

Si vous devez utiliser Flux, définissez la propriété StreamRate à une valeur aussi élevée que possible pour réduire le nombre de mises à jour.
L’application redémarre lorsqu’on utilise le contrôle Ajouter une image. Le contrôle Ajouter une image enregistre le contenu multimédia sélectionné dans la mémoire. En raison de la taille du contenu multimédia, cela peut entraîner une pression importante sur la mémoire. Envisagez de changer l’endroit où le contenu des médias est capturé.

Envisagez de désactiver la propriété UseMobileCamera pour que les utilisateurs puissent uniquement sélectionner des médias dans la galerie/photothèque.

Envisagez d’utiliser le contrôle Attachment (dans le cadre d’un formulaire) pour sélectionner uniquement les fichiers au lieu de les capturer à l’aide du contrôle Caméra.

Envisagez de basculer vers le contrôle Caméra.
L’application redémarre lors de l’utilisation de contrôles natifs tels que Ajouter une image, Scanneur de codes-barres/Reader, Afficher en RM, Caméra de mesure et d’autres. Les contrôles natifs peuvent placer l’application en arrière-plan, là où le système d’exploitation présente des limitations plus strictes en matière de mémoire, avant de redémarrer l’application. Avant d’utiliser ces contrôles, assurez-vous que toutes les opérations gourmandes en mémoire et en traitement sont terminées. Par exemple, désactivez le contrôle Ajouter une image jusqu’à ce que toutes les opérations SaveData se terminent.

Envisagez de passer à un contrôle différent comme Caméra au lieu de Ajouter une image.
Les redémarrages d’applications se produisent pour un sous-ensemble d’appareils. Les appareils disposent de différentes quantités de mémoire et de traitement. Par exemple, les appareils plus anciens sont plus sujets aux redémarrages d’applications en raison de leur faible capacité de traitement.

L’exécution d’autres applications peut également réduire la quantité de traitement disponible. De même, les autres applications installées et les nombreuses photos/médias enregistrés sur l’appareil peuvent consommer de la mémoire, réduisant ainsi la quantité disponible pour l’application.
Renvoyez vos utilisateurs aux conseils énumérés ci-dessus dans notre section Conseils de prévention pour les utilisateurs finaux.

Pensez à investir dans des appareils qui répondent aux besoins de performance de votre application.
Les redémarrages d’applications continuent à se produire. L’utilisation de la mémoire est influencée par la façon dont l’application canevas est créée. Veillez à ce que votre application respecte les bonnes pratiques afin de garantir les performances, de réduire l’utilisation de la mémoire et le traitement. Optimisez votre application en suivant les bonnes pratiques ci-dessous.

Bonnes pratiques pour créer des applications performantes