Ответ
Activity лучше использовать, когда нужно управлять отдельным экраном с собственным жизненным циклом, навигацией и UI. Подходит для:
- Основных экранов приложения (например, главный экран, профиль, детализация).
- Работы с системными компонентами (камера, галерея, интенты).
- Сложной навигации (например, когда нужен
startActivityForResult).
Если задача простая (например, фрагмент внутри TabLayout), лучше использовать Fragment или Compose.
Пример:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
} Ответ 18+ 🔞
А, ну это же классика, блядь! Слушай сюда, сейчас разложу по полочкам, чтобы даже мартышлюшка с улицы поняла.
Вот смотри, Activity — это как отдельная комната в твоей квартире. У неё свои обои, своя мебель, свой вход и выход. Используй её, когда тебе нужно:
- Основные экраны приложения — ну, типа главная лента, профиль пользователя (где он свои котики выкладывает), страничка с деталями товара. Каждый такой экран — отдельная Activity, со своим жизненным циклом. Зашёл —
onCreate, вышел —onDestroy. Всё честно. - Работа с системной хуйнёй — это когда тебе нужно вызвать камеру, галерею, или отправить пользователя куда-то через интенты. Тут без Activity — просто ни хуя себе не получится, система с тобой разговаривать не будет.
- Сложная навигация — особенно если тебе нужен старый-добрый
startActivityForResult. Помнишь эту дичь? Запустил активность, ждёшь ответа, как дурак. Вот для этого она и сгодится.
А теперь главное, ёпта! Не лепи Activity куда попало, как последний распиздяй.
Если задача простая — например, у тебя внутри экрана есть TabLayout, и там переключаются три вкладки (лента, уведомления, сообщения) — это идеальный случай для Fragment'ов или Compose. Зачем городить три отдельных Activity, которые будут жрать память и запускаться со скрипом, как старый диван? Это же пиздопроебибна архитектура получится!
Короче, правило простое: один главный экран = одна Activity. Всё, что внутри него и не требует отдельного жизненного цикла от системы — делай фрагментами. И будешь ты счастлив, и приложение летать будет.
Вот, смотри, как это выглядит в коде, простейший пример:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// И тут уже начинается твоя магия
}
}
Видишь? Всё просто. Создался, разметку подгрузил, и работай. Не усложняй там, где не надо. А то начнёшь плодить активности для каждой кнопки — терпения ноль ебать у того, кто потом твой код будет читать.