在我的一个应用程序中,我使用Googlevolley提供的服务器发送请求.
问题:超时和错误对象为空 onErrorResponse(VolleyError error)
到目前为止我尝试了什么:
1)首先我得到了null错误对象,所以使用下面的代码解决了它:
@Override
protected void deliverResponse(String response) {
super.deliverResponse(response);
}
@Override
public void deliverError(VolleyError error) {
super.deliverError(error);
DebugLog.e("deliverResponse", "getNetworkTimeMs : " + error.getNetworkTimeMs());
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我得到了timeout当我得到错误对象时发生的事情null.
2)现在的应用是Android和iOS和web,但timeout只针对发生Android.
要求的排球日志:
BasicNetwork.logSlowRequests: HTTP response for request
Run Code Online (Sandbox Code Playgroud)
编辑说明:
在服务器端开发的Web服务对于所有三个实例(Android,Web和iOS)都是相同的.
Timeout 当有太多用户向服务器发出请求时发生.
我已经设定了2分钟的时间,但有时只有30秒的凌空抽射超时.
我有很多答案来改变服务器,但因为它是不可能所以任何其他解决方案请.
我还想补充一点,如果我能获得更多关于何时可以超时的超时的信息?
参考文献我经历过:
HttpClient的,经常超时的-使用-WiFi的是持续的,细带-3G
long_xmlhttprequest_ajax_requests_timeout_on_android
编辑:
我还设置了重试政策如下:
request.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 48,
0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Run Code Online (Sandbox Code Playgroud)
而且我也不想在连接超时时重试.
如何才能进行有效的服务调用,以解决问题timeout.
任何帮助都会得到满足.
谢谢.
以下是图像请求的Volley日志的快照.几乎一半的渲染时间是由于网络队列占用.另一个是更高的,大部分时间在网络队列中.如何优化这样才能使网络队列更快?什么决定(除了线程优先级,图像请求默认为低优先级请求),网络队列的速度 - 采取什么?
注意:我是在三星Galaxy S4上运行的.
08-07 11:01:09.560: D/Volley(938): [1] MarkerLog.finish: (3662 ms) [ ] http://farm6.static.flickr.com/5487/9452149004_c4ba6d2d97_t.jpg 0x8da7e4ac LOW 84
08-07 11:01:09.560: D/Volley(938): [1] MarkerLog.finish: (+0 ) [ 1] add-to-queue
08-07 11:01:09.565: D/Volley(938): [1] MarkerLog.finish: (+0 ) [12239] cache-queue-take
08-07 11:01:09.565: D/Volley(938): [1] MarkerLog.finish: (+0 ) [12239] cache-miss
08-07 11:01:09.570: D/Volley(938): [1] MarkerLog.finish: (+1694) [12243] network-queue-take
08-07 11:01:09.570: D/Volley(938): [1] MarkerLog.finish: (+1852) [12243] network-http-complete
08-07 11:01:09.570: D/Volley(938): [1] MarkerLog.finish: (+50 ) [12243] network-parse-complete
08-07 11:01:09.575: D/Volley(938): [1] MarkerLog.finish: (+21 ) [12243] network-cache-written …Run Code Online (Sandbox Code Playgroud)