重复发起Volley请求不要使用同一对象

1.创建volley请求
Request request = new JsonObjectRequest(...);
2.添加到队列中
mRequestQueue.add(request);

request如果被mRequestQueue队列add2次或者2次以上,这个请求会在Volley的EventLog.java的add函数中抛出IllegalStateException,表示不可对已经结束的请求,再次添加marker。
在之前的代码中,我们即使使用这种写法,也不会有问题,这是因为Volley只会在调试模式下启用EventLog.
市面上有些机器开启了Volley的调试模式,(一个系统设置属性:adb shell setprop log.tag.Volley VERBOSE),应该是因为Volley的调试开关是一个系统设置的全局变量,一旦某个app将该值设置为true,会导致大家都使用调试模式。
解决办法:1.我们应该将Volley的调试模式开关设置我们app的调试开关,以消除这个bug。
2.不要重复用同一个Request请求数据。



posted on 2016-12-12 15:10  取悦  阅读(1066)  评论(0编辑  收藏  举报

导航