我只是想检查我是否理解异步Http请求在Android上的工作方式。
假设我发出这样的请求并设置ResponseHandler<String> responseHandler
来处理响应。通过这样做可以阻止UI线程等待响应?其含义是函数中的代码:
public String handleResponse(HttpResponse response)
也在UI线程上执行,或者是否静默生成了一个等待响应的线程,并在响应到达时调用handleResponse(HttpResponse响应)函数?
答案 0 :(得分:0)
通过这样做是可能的 UI线程阻塞等待 回应?
使用或不使用execute()
调用ResponseHandler
将阻止该线程,直到处理完HTTP请求为止。如果在主应用程序线程上调用execute()
,则将阻止UI。这不是一件好事 - 在单独的线程上使用AsyncTask
到execute()
,然后使用您的onPostExecute()
实现来更新您的UI以及请求的结果。