响应具有100个以上JSON对象时,Volley REST API获取请求错误

时间:2018-05-16 05:44:56

标签: android

我正在编写一个应用程序,它显示来自Visual Studio中用C#编写的REST服务的一些数据。 REST API由我的团队编写。响应通常是一个JSON数组,其中JSON对象作为其子节点,基本上表示返回的数据。我正在使用Volley库来处理请求,解析响应并将其放入Recycler View列表中。当JSON对象的数量,或者让返回的JSON数组的长度小于100时,响应就会很好。每当超过100时,响应都不会响应给应用程序。即使是JSONException堆栈跟踪也没有显示任何有用的信息。我尝试在Postman中测试API,无论返回的JSON对象的数量如何,它都能正常工作。 能不能帮我弄清楚是否有任何我们可以覆盖的例程来解决这个问题?如果您想查看代码本身,请告诉我。

谢谢, 阿图尔

2 个答案:

答案 0 :(得分:1)

我认为因为timeOutError而崩溃了。当volley必须解析大量数据时,您应该为您的排球请求设置超时。默认超时为2500毫秒,将其设置为10000毫秒或更高,它将为前工作

strReq.setRetryPolicy(new DefaultRetryPolicy(10000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

它不会消耗您分配的所有时间,但一旦获取所有数据就会断开连接

timeoutError不会让你崩溃,但是会调用onErrorResponse,请确保在插入操作之前创建了要插入的表。

更多信息,请访问hereherelargeHeap

答案 1 :(得分:0)

您可以设置截击的超时 检查一下 https://stackoverflow.com/a/17179436/1213735

更好地使用改进,这比排球要好得多。