В элементе FragmentTransaction на Android docs описано, что метод replace()
такой же, как вызов метода remove()
для всех фрагменты, добавленные в текущий вид, а затем вызванные методом add()
. В этом случае, чтобы восстановить предыдущий фрагмент, мы могли бы использовать addBackToStack()
, это означает, что состояние транзакции все еще управляется менеджером фрагментов и будет отменять его операцию, когда мы выскочили из стека.
С другой стороны, когда мы реализуем транзакцию с использованием add()
, помимо использования add().addBackToStack()
, мы можем использовать метод detach()
и восстанавливать фрагмент с помощью attach()
, которые имеют такое же поведение, что addBackToStack()
.
Так в чем разница между сценами между этими сценариями?