He experimentado tantos problemas con el diseño de múltiples actividades que lo desaconsejo enfáticamente, a menos que haya una buena razón para elegirlo.
Desventaja de múltiples actividades
Al utilizar múltiples actividades, es mucho más difícil refactorizar el código para devolver datos de la actividad.
Si llama a una 'subactividad', entonces la actividad principal puede morir. Pero nunca experimenta eso mientras depura en un dispositivo decente, por lo tanto, debe manejar siempre el estado de guardado y el estado de recuperación correcta. Eso es un dolor. Imagínese llamar a un método en una biblioteca (es decir, otra actividad), y debería asegurarse de que cuando ese método regrese, su aplicación debe poder recrear su estado completamente con todos los campos en todos los objetos en la VM (es decir, actividad. restoreIntance). Es una locura.
También al revés, cuando abre una subactividad, es posible que la VM se haya eliminado desde que se generó la subactividad por primera vez, como cuando la aplicación se minimiza mientras se muestra la subactividad.
Es mucho más limpio tener un solo lugar para almacenar el estado de la aplicación relevante y, en mi caso, la mayoría de las veces, si se mata la VM, quiero devolver al usuario a la pantalla principal y dejar que haga sus cosas nuevamente, porque no No gaste entre 30 y 50 horas codificando la funcionalidad de guardar / reanudar que el 0.1% de los usuarios experimentarán.
Alternativa
Fragmentos o simplemente administre sus vistas de actividad usted mismo. La gestión de las vistas manualmente requiere codificar alguna alternativa de cambio de vista a las actividades / fragmentos con transiciones si se desea.
Y no, no significa una megaactividad, como se sugiere en la respuesta aceptada, de ninguna otra manera que su única megaaplicación. Solo requiere un poco más de diseño de la base de código en piezas adecuadas, porque hay un poco más de trabajo en la gestión de vistas, aunque mucho menos en la gestión del estado de actividad y otras rarezas.
Posiblemente relevante: Reddit: es oficial: Google recomienda oficialmente la arquitectura de aplicaciones de actividad única