App.OnStart optimieren
Die Eigenschaft OnStart für das App-Objekt wird ausgeführt, wenn ein Benutzer Ihre App startet. Die Eigenschaft wird oft verwendet, um Formeln zum Abrufen und Zwischenspeichern von Daten auszuwerten, die Sie vorab laden möchten, und zum Festlegen globaler Variablen. Die Eigenschaft App.OnStart kann mit dieser Arbeit zu sehr ausgelastet sein, was zu Leistungsproblemen führen kann. Für zukünftige Microsoft Power Platform-Veröffentlichungen stehen für die kommenden Jahre alternative Ansätze zur Verfügung oder es wird in diese investiert, um diese Art von Problemen zu reduzieren. Verwenden Sie verfügbare Alternativen, falls sie Ihren App-Anforderungen entsprechen. In diesem Thema werden einige der verfügbaren Alternativen dargestellt.
Beim App-Startup navigieren
Eine häufige Notwendigkeit während des App-Startup besteht darin, den ersten Bildschirm auszuwählen, den der Benutzer anzeigt. Zum Beispiel könnte die App beim ersten Ausführen einen Willkommensbildschirm öffnen oder Deep-Links in eine bestimmte Detailseite implementieren. Zuvor wurde bedingte Logik hinzugefügt und die Navigate()-Funktion in der Eigenschaft App.OnStart war gängige Praxis. Das Verwenden von Navigate() in OnStart wurde eingestellt, und für alle neuen Apps ist die Verwendung der Navigate()-Funktion von App.OnStart untersagt.
Der neue Ansatz besteht darin, die Eigenschaft App.StartScreen zu verwenden. Standardmäßig ist diese Eigenschaft leer, und es wird der erste Bildschirm in der Bildschirmstrukturansicht angezeigt. Wenn Sie die Formel auswerten, die von der Eigenschaft StartScreen bereitgestellt wurde, und dies zu einem Fehler führt, wird der erste Bildschirm zurückgegeben, als ob die Eigenschaft leer wäre. Sie können die IfError()-Funktion verwenden, um Fehler abzufangen und zu einem entsprechenden Fehlerbildschirm umzuleiten.
Sie können die StartScreen-Eigenschaft auf einen bestimmten Bildschirm einrichten, um sicherzustellen, dass es beim Verschieben in der Strukturansicht immer noch der Startbildschirm ist. Sie können ähnlich der folgenden Abbildung auch eine bedingte Logik verwenden, die den Benutzer sucht. Wenn der Benutzer keine Adresse hat, werden sie an den Bildschirm ChooseLocation anstelle des HomeScreen weitergeleitet.
StartScreen ist eine Datenflusseigenschaft, die keine Verhaltensfunktionen enthalten kann. Alle Datenflussfunktionen sind verfügbar, und die folgenden Beispiele sind gängig:
Param()-Funktion zum Lesen von Parametern, mit denen die App gestartet wird
Die User()-Funktion zum Abrufen von Informationen zum aktuellen Benutzer
LookUp(), Filter(), CountRows(), Max() und andere Funktionen, die aus einer Datenquelle lesen
Jeder Aufruf über einen Konnektor sollte jedoch schnell implementiert werden
Signale wie Verbindung, Kompass und App
Globale Variablen und Sammlungen, einschließlich derer, die in OnStart erstellt werden, sind nicht in der Eigenschaft StartScreen verfügbar.
Die Eigenschaft StartScreen wird einmal beim Start ausgewertet. Wenn Sie danach Überprüfungen durchführen müssen, können Sie die Eigenschaft ändern. Alternativ können Sie eine erneute Bewertung manuell erzwingen, indem Sie den Kontextmenübefehl Zu StartScreen navigieren für das App-Objekt verwenden.
Wenn Sie eine ältere App haben, sollten Sie diese aktualisieren, um die neue Eigenschaft StartScreen zu verwenden. Bis Ihre App aktualisiert ist, können Sie zur Registerkarte Einstellungen > Updates > Zurückgezogen navigieren, um den Umschalter Navigate-Funktion in App.OnStart aktivieren auszuschalten. Indem Sie diesen Umschalter ausschalten, können Sie (für eine begrenzte Zeit) die Navigate()-Funktion weiterhin in OnStart verwenden.
OnVisible anstelle von OnStart verwenden
Überprüfen Sie die Formeln, die Sie in App.OnStart haben, und wenn sie nur Informationen für einen einzelnen Bildschirm vorladen, verschieben Sie die Logik von App.OnStart zur Eigenschaft OnVisible des Bildschirms.
App-Einstellungen überprüfen
Neue App-Einstellungen sind mit Power Apps-Aktualisierungen regelmäßig verfügbar. Es empfiehlt sich, sie zu überprüfen, um festzustellen, ob sie nützlich sein könnten. Berücksichtigen Sie die folgenden App-Einstellungen beim Optimieren der App-Ladefunktion:
App.OnStart-Eigenschaft aktivieren – Diese Einstellung ist standardmäßig aktiviert. Ziehen Sie in Erwägung, die Einstellung zu deaktivieren, wenn Sie OnStart nicht benötigen und von der Verwendung abhalten möchten.
Nicht blockierende OnStart-Regel verwenden – In veröffentlichten Apps erlaubt diese Einstellung App.OnStart-Formeln gleichzeitig mit anderen App-Regeln ausgeführt zu werden. Wenn die Einstellung deaktiviert ist, warten Ihre anderen Regeln darauf, dass App.OnStart abgeschlossen ist. Diese Einstellung ist standardmäßig für neue Apps aktiviert, für ältere Apps müssen Sie sie jedoch aktivieren.

