由于Volley中的所有请求都是在不同的线程上异步执行而不阻塞“主线程”,有没有办法等待请求完成然后继续主线程执行?
答案 0 :(得分:0)
你应该设计你的应用程序,使其始终保持主线程的生效。然后,您可以在使用侦听器或异步任务接收到响应时运行代码块。使用听众here查看我的答案。或者查看AsyncTask的onPostExecute。
答案 1 :(得分:0)
有没有办法等待请求完成然后继续 主线程执行?
另一种方法是在凌空运行时显示加载对话框。这样您就可以阻止用户与您的应用交互,直到请求完成为止(只是不要忘记让他有机会取消)。
Volley旨在与您的主线程并行工作并告诉您何时完成请求(所有应用程序应该执行的操作)如果您不希望这样做,请不要使用Volley。但是你会得到一个NetworkOnMainThreadException和if you manage to bypass it,你最终会得到一个ANR异常。