你好这可能不适合这个,但它是当时最好的。
我正在向我的服务器发出Volley Post String请求而不重试,以避免重复发送。我设置了重试策略,一切都很花哨。
stringRequest.setRetryPolicy( new DefaultRetryPolicy(
0,
-1,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT ) );
然而事实是,如果我发送的数据(可能是任何东西,base64string等)很小,它肯定会在超时之前执行,并且我从服务器得到响应。
然而,当它变得有点笨重时,所有数据仍然被发送(我在db(文本)中看到它们,并且图像被上传到文件夹),可能只需要一段时间但我从未得到回复。我的日志显示
D/Volley: [15210] BasicNetwork.logSlowRequests: HTTP response for request=<[X] http://example.com/api/report 0x82d7b19 NORMAL 1> [lifetime=74996], [size=121], [rc=200], [retryCount=0]
但响应或错误监听器显示/说什么都没有,这样我就无法提醒用户注意任何事情,甚至隐藏进度对话框。
有没有人经历过这个,你会推荐什么?以下是我尝试过的其他设置
stringRequest.setRetryPolicy( new DefaultRetryPolicy(
DefaultRetryPolicy.DEFAULT_TIMEOUT * 2,
0,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT ) );
stringRequest.setRetryPolicy( new DefaultRetryPolicy(
30000,
0,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT ) );
如上所述,我感觉如果我正在传输的数据在超时之前执行,我得到一个响应,但除此之外的任何事情,我没有得到回复,但信息仍在处理中。我也尝试记录凌空错误以防万一,但没有,所以我需要你帮我搞清楚。