У меня есть приложение с одним действием, в котором все экраны отображаются как фрагменты.
Поэтому, когда большую часть времени я меняю фрагмент, я добавляю его в задний стек. Таким образом, BackStack может стать довольно большим.
getActivity().getSupportFragmentManager()
.beginTransaction()
.replace(R.id.leftPane, new ReleaseFragmentBuilder(releaseId).build())
.addToBackStack(null)
.commit();
Мой вопрос заключается в том, хочу ли я заменить фрагмент, но больше не сохранять BackStack (BackStack Reset), один из вариантов - очистить BackStack, выполнив PopBackStack до получения root (что очень неэффективно и видел другие проблемы) ИЛИ сделать фрагмент заменить БЕЗ добавления его в BackStack
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.leftPane, new HomeFragment())
.commit();
Итак, что вы рекомендуете? Если я использую только замену, есть ли проблемы с памятью?