Optimiser App.OnStart
La propriété OnStart sur l’objet application s’exécute lorsqu’un utilisateur démarre votre application. La propriété est couramment utilisée pour évaluer les formules de récupération et de mise en cache des données que vous souhaitez précharger et pour définir des variables globales. La propriété App.OnStart peut devenir trop occupée par cette tâche, ce qui peut entraîner des problèmes de performances. Pour permettre de réduire ces types de problèmes, d’autres approches sont disponibles, ou sont en cours d’investissement, pour les prochaines versions de Microsoft Power Platform. Utilisez les alternatives disponibles lorsqu’elles correspondent aux besoins de votre application. Cette rubrique explore certaines des alternatives disponibles.
Navigation au démarrage de l’application
Un besoin courant lors du démarrage de l’application est la sélection du premier écran que l’utilisateur visualise. Par exemple, l’application peut ouvrir un écran d’accueil lors de la première exécution ou implémenter un lien profond dans une page de détails spécifique. Auparavant, l’ajout d’une logique conditionnelle et l’utilisation de la fonction Navigate() dans la propriété App.OnStart était une pratique courante. L’utilisation de Navigate() dans OnStart a été retirée, et l’utilisation de la fonction Navigate() dans App.OnStart est interdite dans toutes les nouvelles applications.
La nouvelle approche consiste à utiliser la propriété App.StartScreen. Par défaut, cette propriété sera vide et il s’agit du premier écran de l’arborescence des écrans qui s’affiche. Si vous évaluez la formule qui était fournie par la propriété StartScreen et qu’il en résulte une erreur, le premier écran reviendra comme si la propriété était vide. Vous pouvez utiliser la fonction IfError() pour détecter les erreurs et rediriger vers un écran d’erreur approprié.
Vous pouvez définir la propriété StartScreen sur un écran spécifique pour garantir qu’il sera toujours l’écran de démarrage, au cas où il serait déplacé dans l’arborescence. Vous pouvez également avoir une logique conditionnelle, similaire à l’image suivante, qui recherche l’utilisateur. Si l’utilisateur n’a pas d’adresse, il est redirigé vers l’écran ChooseLocation au lieu de HomeScreen.
StartScreen est une propriété de flux de données qui ne peut pas contenir de fonctions de comportement. Toutes les fonctions de flux de données sont disponibles et les exemples suivants sont courants :
Fonction Param() pour lire les paramètres utilisés pour démarrer l’application
Fonction User() pour lire les informations concernant l’utilisateur actif
Fonctions LookUp(), Filter(), CountRows(), Max() et autres fonctions pour lire à partir d’une source de données
Tout appel via un connecteur, mais il devrait être mis en œuvre rapidement
Signaux tels que Connexion, Boussole et Application
Les variables globales et les collections, y compris celles qui sont créées dans OnStart, ne sont pas disponibles dans la propriété StartScreen.
La propriété StartScreen est évaluée une fois au démarrage. Si vous devez effectuer des tests par la suite, vous pouvez modifier la propriété. Vous pouvez également forcer manuellement sa réévaluation en utilisant la commande de menu contextuel Accédez à StartScreen de l’objet Application.
Si vous avez une ancienne application, vous devez la mettre à jour pour utiliser la nouvelle propriété StartScreen. Tant que votre application n’est pas mise à jour, vous pouvez accéder à l’onglet Paramètres > Mises à jour > Retirée et désactiver le bouton bascule Activer la fonction Navigate dans App.OnStart. En désactivant ce bouton bascule, vous pouvez (pendant une durée limitée) continuer à utiliser la fonction Navigate() dans OnStart.
Utiliser OnVisible au lieu de OnStart
Passez en revue les formules que vous avez dans App.OnStart, et si elles ne préchargent les informations que pour un seul écran, déplacez la logique de App.OnStart à la propriété OnVisible de cet écran.
Passer en revue les paramètres d’application
De nouveaux paramètres d’application sont régulièrement disponibles avec les mises à jour de Power Apps. Il est recommandé de les passer en revue pour déterminer s’ils pourraient être utiles. Réfléchissez aux paramètres d’application suivants lorsque vous optimisez la fonctionnalité de chargement de l’application :
Activer la propriété App.OnStart : ce paramètre est activé par défaut. Pensez à désactiver le paramètre si vous n’en avez pas besoin de OnStart et souhaitez décourager son utilisation.
Utiliser la règle OnStart non bloquante : dans les applications publiées, ce paramètre permet l’exécution de formules App.OnStart simultanément avec d’autres règles d’application. Lorsque le paramètre est désactivé, vos autres règles attendent que App.OnStart se termine. Ce paramètre est activé par défaut pour les nouvelles applications, mais vous devez l’activer pour les anciennes applications.

