TGViewer
Андроидѣ | Михаил Белый Андроидѣ | Михаил Белый @foundout · 328 subscribers
Post #128 386
Какую Activity использовать в Android

В Android четыре часто используемых класса активити:
• Activity
• ComponentActivity
• FragmentActivity
• AppCompatActivity

По иерархии идут последовательно. Activity – базовый класс. ComponentActivity наследует androidx.core.app.ComponentActivity, который нельзя использовать в коде. Добавлен гуглом как промежуточный слой между android.app.Activity и androidx.activity.ComponentActivity, чтобы менять код без поломок. Далее идут FragmentActivity и AppCompatActivity.

Activity
Базовый класс для создания активити в Android.
• Управляет жизненным циклом.
• Отображает UI (setContentView, findViewById).
• Обрабатывает действия пользователя (onBackPressed).
• Запускает другие компоненты через Intent, получает результаты.
• Сохраняет и восстанавливает состояние (onSaveInstanceState, onRestoreInstanceState).
• Настраивает окно и тему (getWindow, setTheme).
• Получает доступ к ресурсам и конфигурации (getResources, onConfigurationChanged).

ComponentActivity
Добавляет поддержку компонентов AndroidX.
• Поддерживает LifecycleOwner, подписывается на изменения (LifecycleObserver).
• Сохраняет и восстанавливает состояние (SavedStateRegistry).
• Управляет ViewModel (getViewModelStore).
• Регистрирует обработчик кнопки «Назад» (OnBackPressedDispatcher).
• Отображает контент под SystemBars (enableEdgeToEdge).
• Получает результаты активити и пермишенов (registerForActivityResult).
• Устанавливает UI для Compose (setContent).

FragmentActivity
Работает с фрагментами.
• Управляет фрагментами (getSupportFragmentManager).
• Вызывает onAttachFragment, когда фрагмент присоединяется к активити.
• Передаёт результаты пермишенов во фрагменты (onRequestPermissionsResult).
• Обрабатывает результаты активити внутри фрагментов (onActivityResult).
• Сохраняет состояние фрагментов при изменении конфигурации.
• Поддерживает BiometricPrompt для биометрической аутентификации.

AppCompatActivity
Добавляет поддержку обратной совместимости.
• Управляет ActionBar и Toolbar, обрабатывает кнопку «Назад» (onSupportNavigateUp).
• Поддерживает обратную совместимость (AppCompatDelegate), позволяя использовать ActionBar, темы и стили MaterialComponents на старых андроидах (до API 21).
• Автоматически переключает тему (DayNight), подстраиваясь под настройки устройства или время суток.
• Меняет локаль приложения без перезапуска (setApplicationLocales).

Что использовать
• ComponentActivity – если UI на Compose.
• FragmentActivity – если UI на фрагментах.
• AppCompatActivity – если UI на фрагментах, меняется тема и нужна обратная совместимость.
• Activity – если не используются MaterialComponents, UI самописный, код на плюсах.
More from @foundout
  1. Sep 28, 2026Post #463
  2. Sep 9, 2026Истории про айфон Первый айфончик у меня появился в 24 года. К этим годам одни успевают пе…
  3. Sep 2, 2026Как правильно жить в Республике Бангладеш Жить в прекрасной стране Бангладеш – что может б…
  4. Sep 1, 2026Новые открытия Помню, как зимой, лежа на диване, ругался на концепт зимней арки. Как на оч…
  5. Aug 13, 2026Турецкий скам Я третий раз в Турции. За 4 года моего отсутствия покупательная способность…
  6. Aug 9, 2026Что делать в Черногории Шароебиться по горам. Всё, чем известна Черногория – сюда 20 лет н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →