Sobes.tech
Junior — Middle
90

Қызметте тапсырманы негізгі орындалу ағынынан бөлек іске қосу үшін қалай жасауға болады?

Сұралған компаниялар
Ubic

AI-дан жауап

sobes.tech AI

В Android, чтобы задача не блокировала основной (UI) поток, её нужно запускать в фоновом потоке. Для этого можно использовать:

  • Классы AsyncTask (устаревший, но ещё встречается)
  • Thread или Runnable
  • HandlerThread
  • ExecutorService
  • Современный подход — использовать Kotlin Coroutines или WorkManager для фоновых задач

Пример с Kotlin Coroutines:

GlobalScope.launch(Dispatchers.IO) {
    // Долгая операция, например, загрузка данных
    val data = loadData()
    withContext(Dispatchers.Main) {
        // Обновление UI после завершения
        updateUI(data)
    }
}

Таким образом, основная идея — выполнять тяжёлые операции вне главного потока, чтобы интерфейс оставался отзывчивым.