Почему Fragment легковеснее чем Activity

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

Ответ

Фрагменты легковеснее, потому что:

  1. Жизненный цикл проще, чем у Activity (нет onRestart(), onNewIntent() и т.д.)
  2. Ресурсы - Fragment использует ресурсы родительской Activity (контекст, window)
  3. Пересоздание быстрее, так как FragmentManager сохраняет состояние автоматически
  4. Память - не требует отдельного процесса/стека активностей
// Пример замены Activity на Fragment
class MyFragment : Fragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
        return inflater.inflate(R.layout.fragment_my, container, false)
    }
}

Фрагменты позволяют создавать гибкие UI, переиспользуя компоненты в разных активностях. Однако для простых экранов иногда Activity предпочтительнее.