Ottimizzazione di App.OnStart

Completato

La proprietà OnStart sull'oggetto app viene eseguita quando un utente avvia l'app. La proprietà viene comunemente usata per valutare le formule per il recupero e la memorizzazione nella cache dei dati che si desidera precaricare e per l'impostazione delle variabili globali. La proprietà App.OnStart può diventare troppo impegnata con questo lavoro, il che può causare problemi di prestazioni. Per aiutare a ridurre questi tipi di problemi, sono disponibili (o saranno disponibili a breve) approcci alternativi per le future versioni di Microsoft Power Platform. Usare le alternative disponibili quando si adattano alle esigenze dell'app. Questo argomento esplora alcune delle alternative disponibili.

Un'esigenza comune durante l'avvio dell'app è selezionare la prima schermata visualizzata dall'utente. Ad esempio, l'app potrebbe aprire una schermata di benvenuto al primo avvio o implementare il deep linking in una specifica pagina di dettaglio. In precedenza, l'aggiunta della logica condizionale e l'uso della funzione Navigate() nella proprietà App.OnStart era una pratica comune. L'uso di Navigate() in OnStart è stato dismesso e nelle nuove app non è più consentito l'uso della funzione Navigate() da App.OnStart.

Il nuovo approccio consiste nell'usare la proprietà App.StartScreen. Per impostazione predefinita, questa proprietà sarà vuota e verrà mostrata la prima schermata nella visualizzazione struttura ad albero delle schermate. Se si sta valutando la formula fornita dalla proprietà StartScreen e questa restituisce un errore, verrà nuovamente visualizzata la prima schermata come se la proprietà fosse vuota. È possibile usare la funzione IfError() per rilevare gli errori e reindirizzare a una schermata di errore appropriata.

È possibile impostare la proprietà StartScreen su una schermata specifica per garantire che, se viene spostata nell'albero, sia ancora la schermata iniziale. È anche possibile avere una logica condizionale, simile all'immagine seguente, che ricerca l'utente. Se l'utente non ha un indirizzo, viene visualizzata la schermata ChooseLocation anziché HomeScreen.

Screenshot della proprietà StartScreen dell'app.

StartScreen è una proprietà del flusso di dati che non può contenere funzioni di comportamento. Sono disponibili tutte le funzioni del flusso di dati e gli esempi seguenti sono comuni:

  • Funzione Param() per leggere i parametri usati per avviare l'app

  • Funzione User() per leggere le informazioni sull'utente corrente

  • LookUp(), Filter(), CountRows(), Max() e altre funzioni che leggono da un'origine dati

  • Qualsiasi chiamata tramite un connettore, ma deve essere implementata rapidamente

  • Segnali come Connessione, Bussola e App

Variabili globali e raccolte, comprese quelle create in OnStart, non sono disponibili nella proprietà StartScreen.

La proprietà StartScreen viene valutata una volta all'avvio. Se è necessario eseguire il test in seguito, è possibile modificare la proprietà. In alternativa, è possibile forzarne la rivalutazione manualmente usando il comando del menu di scelta rapida Vai a StartScreen per l'oggetto app.

Screenshot di un menu contestuale disponibile per l'oggetto app in Power Apps Studio.

Se si dispone di un'app meno recente, è necessario aggiornare l'app per usare la nuova proprietà StartScreen. Fino a quando l'app non viene aggiornata, è possibile accedere alla scheda Impostazioni > Aggiornamenti funzionalità > Ritirato e disattivare l'interruttore Abilita la funzione Navigate in App.OnStart. Disattivando questo interruttore, è possibile continuare a usare (per un tempo limitato) la funzione Navigate() in OnStart.

Screenshot dell'accesso alla scheda dell'app Impostazioni > Aggiornamenti > Ritirato e disattivazione dell'opzione Abilita la funzione Navigate in App.OnStart.

Uso di OnVisible al posto di OnStart

Rivedere le formule presenti in App.OnStart e, se precaricano solo le informazioni per una singola schermata, spostare la logica da App.OnStart alla proprietà OnVisible di quella schermata.

Revisione delle impostazioni dell'app

Nuove impostazioni dell'app diventano regolarmente disponibili con gli aggiornamenti di Power Apps. È buona norma esaminarle per determinare se possono essere utili. Considerare le seguenti impostazioni dell'app quando si ottimizza la funzionalità di caricamento dell'app:

  • Abilita proprietà App.OnStart: questa impostazione è attivata per impostazione predefinita. Se OnStart non è necessaria e si desidera scoraggiarne l'uso, è preferibile disattivare questa impostazione.

  • Usa regola OnStart non bloccante: nelle app pubblicate, questa impostazione consente l'esecuzione simultanea delle formule App.OnStart assieme ad altre regole dell'app. Quando l'impostazione è disattivata, le altre regole attendono il completamento di App.OnStart. Questa impostazione è attivata per impostazione predefinita per le nuove app, ma è necessario abilitarla per le app meno recenti.