Какие знаешь альтернативы использования фрагментов в Single Activity

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

Ответ

Вместо фрагментов в Single Activity можно использовать:

  1. Custom Views - создавать сложные UI компоненты, наследуясь от View/ViewGroup. Подходит для простых случаев.
class MyCustomView @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null
) : ConstraintLayout(context, attrs) {
    // View logic here
}
  1. Compose - современный декларативный UI-фреймворк, идеально подходит для Single Activity.

  2. Navigation Component с динамическими feature-модулями - позволяет загружать UI части по требованию.

  3. ViewPager2 - для swipe-навигации между экранами.

  4. Динамическая подгрузка Layouts через LayoutInflater:

val content = layoutInflater.inflate(R.layout.screen_content, container, false)
container.removeAllViews()
container.addView(content)

Основные преимущества: более простая навигация, меньше boilerplate кода, лучшая производительность. Но фрагменты всё ещё полезны для сложных сценариев с бэкстэком и shared ViewModel.