С вызовом типа:
@GET("/user/{id}/data")
void getUserData(@Path("id") int id, Callback<Data> cb);
Обратный вызов должен выполняться в основном потоке (если не используется RxJava). Мои вопросы:
- Где происходит синтаксический анализ (предположим, что я использую XML-конвертер для ответа процесса). Это основная нить или другая? Это зависит от реализации конвертера?
- Если мне нужно включить некоторые (тяжелые) правила проверки/бизнес-правила, нужно ли создавать новый поток внутри вызываемого? Или это хорошо, если это нужно сделать в методах обратного вызова?
Я ищу способы получить данные в своей деятельности из веб-сервиса, избегая управления потоками самостоятельно (или используя другие подходы, такие как IntentService и т.д.), но я боюсь использовать RxJava (из-за экспериментальной поддержки). Есть ли другой подход к решению этой проблемы?