Как вернуться на UI thread

«Как вернуться на UI thread» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для возврата на UI thread в Android можно использовать несколько способов:

  1. Handler:
Handler(Looper.getMainLooper()).post {
    // Обновляем UI
}
  1. View.post():
view.post {
    // Обновляем UI
}
  1. Activity.runOnUiThread():
activity.runOnUiThread {
    // Обновляем UI
}
  1. Coroutines (Kotlin):
withContext(Dispatchers.Main) {
    // Обновляем UI
}
  1. RxJava:
AndroidSchedulers.mainThread().scheduleDirect {
    // Обновляем UI
}

Все эти методы гарантируют выполнение кода в главном потоке. Выбор зависит от контекста и используемых технологий. Например, в современном Kotlin-коде предпочтительнее использовать корутины.