В активити с BottomNavigation всего 3 путкта меню и 3 фрагмента которые переключаются при навигации. Для одного из них нужно всегда хранить состояние. Рационально ли хранить все 3 фрагмента в памяти как поля активити или лучшей практикой будет при смене фрагментов каждый раз создавать новый объект?
В данном случае правильной практикой будет не пересоздавать Object фрагмента, без нужной необходимости, даже если у вас 5 табов. На практике фрагменты могут быть очень тяжелыми, тогда необходимостью будет являться - освобождение памяти. Но эту ситуацию вы должны учитывать всегда, из-за особенностей Системы, или просто перехода на другой Activity().
Как пример от Google:
AddEditTaskFragment addEditTaskFragment = (AddEditTaskFragment) getSupportFragmentManager().findFragmentById(R.id.contentFrame);
if (addEditTaskFragment == null) {
addEditTaskFragment = mFragment;
ActivityUtils.addFragmentToActivity(getSupportFragmentManager(),
addEditTaskFragment, R.id.contentFrame);
}
кончено же его можно написать интересней, например так:
if (fragmentUtils.hasFragment(tag)) fragmentUtils.showFragment(tag);
else fragmentUtils.addFragment(R.id.frame_fragment_container, lazyFragment.get(), tag);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости