App.OnStart optimieren

Abgeschlossen

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.

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.

Screenshot der StartScreen-Eigenschaft der App

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.

Screenshot eines Kontextmenüs, das für das App-Objekt in Power Apps Studio verfügbar ist

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.

Screenshot davon, wie Sie zur Registerkarte „App-Einstellungen > Updates > Zurückgezogen“ navigieren und die Option „Navigate-Funktion in App.OnStart aktivieren“ deaktivieren

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.