Я использую такую конструкцию для обработки нескольких ответов на загрузку данных. Проблема в том, что этот код влияет на время начала фрагмента (+2 о секунде). Функция load()
помещена в ViewModel
. Fragment#onResume()
вызов метода ViewModel#load()
метод. Как я могу оптимизировать этот код, чтобы сократить время запуска Fragment
?
fun load() {
Single.zip(
apiDataManager1.getSingle().subscribeOnIo().observeOnMain(),
apiDataManager2.getSingle().subscribeOnIo().observeOnMain(),
apiDataManager3.getSingle().subscribeOnIo().observeOnMain(),
Function3<Any, Any, Any, Unit> { _, _, _ ->
// process data
}
)
.subscribeOnIo()
.observeOnMain()
.subscribe()
}
UPD
Если я оберну эту функцию в Thread {}
, все будет нормально. Как я могу сделать это только с Rx?