силён
Есть ViewModel в которой идет запрос в репозиторий
Код вьюмодельки
disposable = messagesRepository
.newMessage(threadId, validateField(content), images)
.observeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe(......)
И следующий код в репозитории
fun newMessage(параметры): траляля {
val imagesNew = compressImages() // и вот данная часть кода выполняется в мейн потоке
return api.newMessage(threadId, contentPart, imagesNew)
.subscribeOn(ioScheduler)
.observeOn(mainThreadScheduler)
}
Вопрос, почему данный фрагмент кода выполняется в мейн потоке?
ну где вызываешь метод, там его тело и выполняется
Скорее всего, ты хочешь из compress вернуть fromCallable { здесь тяжёлая работа }, но выполняешь работу на месте
Обсуждают сегодня