Ho riscontrato così tanti problemi con il layout di attività multiple che lo sconsiglio vivamente, a meno che non ci siano buone ragioni per sceglierlo.
Svantaggio di molteplici attività
Utilizzando più attività è molto difficile effettuare il refactoring del codice per restituire i dati dall'attività.
Se chiami un'attività "secondaria", l'attività principale potrebbe essere interrotta. Ma non lo si verifica mai durante il debug su un dispositivo decente, quindi è necessario gestire sempre lo stato di salvataggio e il ripristino corretto dello stato. Questo è un dolore. Immagina di chiamare un metodo su una libreria (es. Un'altra attività) e dovresti assicurarti che quando quel metodo restituisce la tua app deve essere in grado di ricreare completamente il suo stato con tutti i campi su tutti gli oggetti nella VM (es. Attività. restoreIntance). È da pazzi.
Anche viceversa, quando apri una sottoattività, la VM potrebbe essere stata interrotta da quando la sottoattività è stata generata per la prima volta, ad esempio quando l'app è ridotta a icona mentre viene visualizzata la sottoattività.
È molto più pulito avere un solo posto in cui memorizzare lo stato dell'app pertinente e, nel mio caso, il più delle volte se la VM viene uccisa, voglio riportare l'utente alla schermata principale e lasciargli fare di nuovo le sue cose, perché non lo faccio non spendere 30-50 ore a codificare funzionalità di salvataggio / ripristino che lo 0,1% degli utenti sperimenterà mai.
Alternativa
Frammenti o gestisci tu stesso le visualizzazioni delle tue attività. La gestione manuale delle viste richiede la codifica di un'alternativa di cambio di visualizzazione alle attività / frammenti con transizioni se lo si desidera.
E no, non significa una mega-attività, come suggerito nella risposta accettata, in nessun altro modo rispetto alla sua unica mega-app. Richiede solo un po 'più di progettazione della base di codice in parti adatte, perché c'è un po' più di lavoro nella gestione delle visualizzazioni, sebbene molto meno lavoro nella gestione dello stato delle attività e altre stranezze.
Possibilmente rilevante: Reddit: È ufficiale: Google raccomanda ufficialmente l'architettura delle app per attività singola