Ответ
Плюсы:
- Модульность: фрагменты позволяют разбить UI на переиспользуемые компоненты
- Жизненный цикл: собственный lifecycle, более гибкий чем у Activity
- Back Stack: поддержка транзакций с возможностью отката
- Адаптивность: упрощают создание интерфейсов для разных размеров экранов
Минусы:
- Сложность: больше boilerplate кода по сравнению с Activity
- Память: могут утечки если не очищать ссылки в onDestroyView
- Навигация: требует ручной обработки back press в некоторых случаях
// Пример базового фрагмента
class MyFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return inflater.inflate(R.layout.fragment_my, container, false)
}
}