改造执行方法是后台任务

时间:2018-06-03 12:21:28

标签: android http retrofit

Retrofit .execute方法是否已经是后台任务,或者我应该在AsyncTask中在改进的官方文档中调用此方法,它提到在mainThread中执行的回调,但是如果execute方法是后台任务则不清楚。

改造文件:

  

SYNCHRONOUS VS.异步   调用实例可以同步或异步执行。每个实例只能使用一次,但调用clone()将创建一个可以使用的新实例。

     

在Android上,回调将在主线程上执行。在JVM上,   回调将在执行HTTP的同一线程上发生   请求。

2 个答案:

答案 0 :(得分:1)

这个link对你要求的内容有一个很好的解释。简而言之,异步请求将包含onResponseonFailure等回调。如果您向API发出请求,那么您肯定希望使用异步。

答案 1 :(得分:1)

call.execute() //not a background task, works in the foreground(synchronous).
call.enqueue() //This is a background task(asynchronous).

call.execute()在当前线程上运行请求。 call.enqueue()在后​​台线程上运行请求,并在当前线程上运行回调。