Модифицировать метод выполнения, это фоновая задача - PullRequest
0 голосов
/ 03 июня 2018

Метод Retrofit .execute уже является фоновой задачей или я должен вызывать этот метод в AsyncTask в официальной документации по модификации, в которой упоминается, что обратные вызовы выполняются в mainThread, но не ясно, является ли метод execute фоновой задачей.

Документация по модернизации:

СИНХРОННАЯ ПРОТИВ.ASYNCHRONOUS Экземпляры вызовов могут выполняться либо синхронно, либо асинхронно.Каждый экземпляр можно использовать только один раз, но вызов clone () создаст новый экземпляр, который можно использовать.

В Android обратные вызовы будут выполняться в главном потоке.На JVM обратные вызовы будут происходить в том же потоке, который выполнил запрос HTTP.

Ответы [ 2 ]

0 голосов
/ 03 июня 2018
call.execute() //not a background task, works in the foreground(synchronous).
call.enqueue() //This is a background task(asynchronous).

call.execute() выполняет запрос в текущем потоке.call.enqueue() запускает запрос в фоновом потоке и выполняет обратный вызов в текущем потоке.

0 голосов
/ 03 июня 2018

Эта ссылка содержит хорошее объяснение того, что вы просите.Короче говоря, асинхронные запросы будут иметь обратные вызовы, такие как onResponse и onFailure.Если вы делаете запрос к API, вы наверняка захотите использовать асинхронный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...