Junior — Middle
Quelle est la différence entre les méthodes de lancement de nouveaux écrans dans Android : utiliser startActivity et gérer les fragments via FragmentManager ?
sobes.tech IA
Réponse de l'IA
startActivity используется для запуска нового Activity — отдельного экрана с собственным жизненным циклом. При вызове создаётся новый экран, который отображается поверх текущего.
Управление фрагментами через FragmentManager происходит внутри одного Activity. Фрагменты — это части UI, которые можно динамически добавлять, заменять или удалять без запуска нового Activity. Это удобно для адаптации интерфейса под разные размеры экранов или для более гибкой навигации.
Основные отличия:
- startActivity создаёт новый экран (Activity), переключение между которыми происходит на уровне системы.
- FragmentManager управляет частями интерфейса внутри одного Activity, позволяя менять содержимое без перезапуска всего экрана.
Пример запуска Activity:
val intent = Intent(this, DetailActivity::class.java)
startActivity(intent)
Пример замены фрагмента:
supportFragmentManager.beginTransaction()
.replace(R.id.container, DetailFragment())
.addToBackStack(null)
.commit()