TGViewer
Антоха Разраб про AI Антоха Разраб про AI @androidraft · 392 subscribers
Post #28 275
Разбираем использование runBlocking в Android:

👉 Что такое runBlocking?

Функция, которая запускает новую корутину и блокирует текущий поток до её завершения.
Часто используется в примерах для демонстрации корутин в main() функции.
👉 Почему стоит быть осторожным с runBlocking в Android?

Блокирует текущий поток, что на Android может привести к замораживанию UI и возникновению ANR (Application Not Responding).
Особенно критично при выполнении операций ввода-вывода в главном потоке.
👉 Пример неправильного использования:
´´´
class MainViewModel(private val mainRepository: MainRepository) : ViewModel() {
// Не рекомендуется
private fun fetchPosters() = runBlocking {
mainRepository.fetchPosters()
}
}
´´
В этом примере runBlocking блокирует главный поток, что может привести к проблемам с отзывчивостью приложения.
👉 Рекомендуемые альтернативы:

Используйте viewModelScope для запуска корутин, что обеспечивает автоматическую отмену задач при уничтожении ViewModel.
Применяйте launch или async для асинхронных операций без блокировки главного потока.

(c) Черновик канала @droidgr
getstream.io Exercise Caution When Using runBlocking on Android Explore the internal mechanism of runBlocking and the reasons why you exercise caution when using runBlocking.
More from @androidraft
  1. Sep 29, 2026Нейрослопный привет! https://www.youtube.com/watch?v=7-WTlSZ-qVI Мне тут друзья показали ч…
  2. Sep 25, 2026Забыл, что стоило написать что я сделал: 👉 Начал с персонального сайта: https://lamprof.c…
  3. Sep 23, 2026Удивительно, я запихивался в AI выдачу со своим сайтом/резюме очень активно и это наканецт…
  4. Sep 21, 2026Post #201
  5. Sep 19, 2026Post #200
  6. Sep 18, 2026Post #199
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 →