Ответ
Scheduler в RxJava управляет потоками выполнения операторов. Он определяет, в каком потоке будут выполняться подписка (subscribeOn) и обработка событий (observeOn).
Ключевые моменты:
subscribeOnзадает поток для источника (если не указан, выполняется в текущем потоке).observeOnпереключает поток для последующих операторов.
Пример:
Observable.just("Task")
.subscribeOn(Schedulers.io()) // Выполняется в IO-потоке
.map { it.length }
.observeOn(AndroidSchedulers.mainThread()) // Результат в UI-потоке
.subscribe { length -> textView.text = "Length: $length" }
Популярные Schedulers:
Schedulers.io()— для I/O операций.Schedulers.computation()— для CPU-интенсивных задач.AndroidSchedulers.mainThread()— главный поток Android.