Я знаю 2 архитектуры.
Использовать Activity для каждого окна. Первый случай хорошо простой, но есть проблемы с производительностью и грязнотой в manifest.
Использовать фрагменты и 1 Activity. Такой способ хорошо производительностью и чистотой в manifeste, но трудно реализовать его. Так как надо писать много кода и проверок.
Если бы была какая-нибудь библиотека, которая бы отвечала за все моменты по созданию фрагментов, извелечения их из стеков, действия по нажатии back и т.д. То думаю данная архитектура была бы лучшей.
Знаете ли вы какие-нибудь еще архитектуры под Android, и какую архитектуру используют профи?
https://github.com/terrakok/Cicerone - одна из библиотек для навигации в андроид, там есть стандартный менеджер для фрагментов, можно свой написать для чего угодно.
некоторые разработчики отказываются от фрагментов и пишут экраны на вьюхах. вот популярные библиотеки:
https://github.com/Zhuinden/simple-stack
https://github.com/square/flow
https://github.com/bluelinelabs/Conductor
В целом проще всего писать на активити. Если нужна сложная навигация и переиспользуемые модули, то гугл рекомендует использовать фрагменты. Но у них сложный жизненный цикл и не совсем удачное API, поэтому многие вместо фрагментов наследуются от лэйаутов и пишут логику отображения там. Но у вьюх нет логики навигации, которая есть у фрагментов, для этого и используются либы типа флоу и симплбэкстэк. Либо бэкстэк и роутер пишется самостоятельно. Вот у этого парня https://hackernoon.com/@Zhuinden есть куча статей о том как не использовать фрагменты, аргументы против фрагментов и за вьюхи, советую ознакомиться, чтобы лучше понимать проблему.
И вот в довесок набор примеров от профи: https://github.com/googlesamples/android-architecture
Виртуальный выделенный сервер (VDS) становится отличным выбором
Необходимо сделать так, чтобы можно было выделить левой кнопкой несколько строк в JTable и по правой кнопке удалять выделенные строки из таблицы...
Если пользователь введет текст в EditText, и в нем содержится подстрока "more", то она должна быть выделена красным
В приложении армянская клавиатура можно набрать армянские буквы в EditText через кнопки, в то же время активна и системная клавиатура, чтобы...