Limitazioni relative ai modelli

L'host limita il numero di modelli da visualizzare per una determinata attività a un massimo di cinque, di cui l'ultimo deve essere di uno dei seguenti tipi:

Tieni presente che questo limite si applica al numero di modelli e non al numero di istanze di Screen nello stack. Ad esempio, se un'app invia due modelli nella schermata A e poi invia la schermata B, ora può inviare altri tre modelli.

In alternativa, se ogni schermata è strutturata per inviare un singolo modello, l'app può inserire cinque istanze di schermata nello stack ScreenManager.

Esistono casi speciali per queste limitazioni: aggiornamenti dei modelli e operazioni di backup e ripristino.

Aggiornamenti dei modelli

Alcuni aggiornamenti dei contenuti non vengono conteggiati ai fini del limite dei modelli. In generale, se un'app esegue il push di un nuovo modello dello stesso tipo e contenente gli stessi contenuti principali del modello precedente, il nuovo modello non viene conteggiato ai fini della quota. Ad esempio, l'aggiornamento dello stato di attivazione/disattivazione di una riga in un ListTemplate non viene conteggiato ai fini della quota. Consulta la documentazione dei singoli modelli per scoprire di più sui tipi di aggiornamenti dei contenuti che possono essere considerati un aggiornamento.

Operazioni di back

Per attivare i flussi secondari all'interno di un'attività, l'host rileva quando un'app mostra un Screen dallo stack ScreenManager e aggiorna la quota rimanente in base al numero di modelli per cui l'app sta tornando indietro.

Ad esempio, se l'app invia due modelli nella schermata A, poi passa alla schermata B e invia altri due modelli, all'app rimane una quota. Se l'app torna alla schermata A, l'host reimposta la quota su tre, perché l'app è tornata indietro di due modelli.

Tieni presente che, quando torna a una schermata, un'app deve inviare un modello dello stesso tipo di quello inviato l'ultima volta da quella schermata. L'invio di qualsiasi altro tipo di modello causa un errore. Tuttavia, finché il tipo rimane lo stesso durante un'operazione di ritorno, un'app può modificare liberamente i contenuti del modello senza influire sulla quota.

Operazioni di ripristino

Alcuni modelli hanno una semantica speciale che indica la fine di un'attività. Ad esempio, NavigationTemplate è una visualizzazione che dovrebbe rimanere sullo schermo e aggiornarsi con nuove indicazioni stradali per l'utente.

Quando un'attività raggiunge uno di questi modelli, l'host ripristina la quota del modello, trattandolo come se fosse il primo passaggio di una nuova attività. In questo modo l'app può avviare una nuova attività. Per saperne di più, consulta la documentazione dei singoli modelli per scoprire quali attivano un ripristino sull'host.

Se l'organizzatore riceve un intent per avviare l'app da un'azione di notifica o dal launcher, la quota viene reimpostata. Questo meccanismo consente a un'app di iniziare un nuovo flusso di attività dalle notifiche ed è valido anche se un'app è già associata e in primo piano.