Ответ
Activity — это основной компонент UI, представляющий отдельный экран с собственным жизненным циклом. Управляется системой, может существовать независимо.
Fragment — это модульная часть UI, встроенная в Activity. Не имеет самостоятельного жизненного цикла, зависит от родительской Activity. Позволяет гибко комбинировать интерфейсы (например, для планшетов и телефонов).
Пример:
// Activity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
supportFragmentManager.beginTransaction()
.replace(R.id.container, MyFragment())
.commit()
}
}
// Fragment
class MyFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View = inflater.inflate(R.layout.fragment_my, container, false)
}
Ключевые отличия:
Activity— самостоятельный экран,Fragment— часть экрана.Activityуправляется ОС,Fragment—FragmentManager.Fragmentпереиспользуется,Activity— нет.