所以我查看了github上的robospice okhttpclient-sample,并惊讶地发现他们展示了synchronous HTTP call。 RoboSpice自述文件中的第二个要点强调它"异步执行网络请求(在后台AndroidService中)"。为什么一个同步的例子呢?回调在哪里?
我还注意到链接到RoboSpice样本的OkHttp库是v1.3,现在已经很古老了。 robospice-okhttp maven库不是更好 - 链接到库的v1.5.4。两者都使用同步OkHttpSpiceRequest.open()
函数调用,该调用在v1.6中已弃用,在v2.0(RC)中已删除。是不是在v1.6中首次引入了异步性?
有没有人在RoboSpice中实现了OkHttp的真正异步使用,并获得了一些示例代码?如果没有,我的选择是什么?
答案 0 :(得分:0)
虽然Robospice使用OkHttp的阻止API,但它在后台线程中使用它,而不是您将请求排入队列的线程。因此,从应用程序的角度来看,Robospice是异步的。
OkHttp 2.0将提供阻止API和带回调的异步API。在幕后,回调API仍然每次调用使用一个线程。在OkHttp的未来版本中,我们计划通过在单个线程上调度多个调用来利用SPDY和HTTP / 2。