Eu tive tantos problemas com o layout de múltiplas atividades que eu o desencorajo fortemente, a menos que haja um bom motivo para escolhê-lo.
Desvantagem de múltiplas atividades
Usando várias atividades, é muito difícil refatorar o código para retornar dados da atividade.
Se você chamar uma 'sub' atividade, a atividade principal pode ser eliminada. Mas você nunca experimenta isso durante a depuração em um dispositivo decente, portanto, você precisa sempre lidar com o estado de salvamento e o estado de recuperação correto. Isso é uma dor. Imagine chamar um método em uma biblioteca (ou seja, outra atividade) e você teria que garantir que, quando esse método retornar, seu aplicativo seja capaz de recriar seu estado completamente com todos os campos em todos os objetos na VM (ou seja, atividade. restoreIntance). É insano.
Além disso, ao contrário, quando você abre uma subatividade, a VM pode ter sido eliminada desde que a subatividade foi gerada pela primeira vez, como quando o aplicativo é minimizado enquanto a subatividade é exibida.
É muito mais limpo ter apenas um local para armazenar o estado do aplicativo relevante e, no meu caso, na maioria das vezes, se a VM for interrompida, quero retornar o usuário à tela principal e deixá-los fazer suas coisas novamente, porque não não gaste 30-50 horas codificando a funcionalidade de salvar / retomar que 0,1% dos usuários jamais experimentará.
Alternativo
Fragmentar ou apenas gerenciar você mesmo as visualizações de atividades. Gerenciar visualizações manualmente requer a codificação de alguma alternativa de troca de visualização para atividades / fragmentos com transições, se desejado.
E não, não significa uma megaatividade, como sugerido na resposta aceita, de qualquer outra forma que não seja um megaaplicativo. Exige apenas um pouco mais de design da base de código em peças adequadas, porque há um pouco mais de trabalho gerenciando visualizações, embora muito menos trabalho gerenciando estado de atividade e outras estranhezas.
Possivelmente relevante: Reddit: é oficial: o Google recomenda oficialmente a arquitetura de aplicativo de atividade única