Какие методы жизненного цикла Fragment вызовутся при добавлении нового через метод add

«Какие методы жизненного цикла Fragment вызовутся при добавлении нового через метод add» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

onAttach() → onCreate() → onCreateView() → onViewCreated() → onActivityCreated() (deprecated в API 28) → onStart() → onResume()

При добавлении через add() фрагмент становится видимым, если контейнер уже attached к Activity. Если же Activity не в resumed состоянии, вызовется только до onCreateView(), а остальные методы - после возобновления Activity.

Пример:

supportFragmentManager.beginTransaction()
    .add(R.id.container, MyFragment())
    .commit()

Для replace() порядок такой же, но у предыдущего фрагмента вызовутся onPause(), onStop(), onDestroyView().