我们目前正试图让凌空运行以将图像加载到NetworkViews中。
这一行请求并加载图像:
holder.image.setImageUrl(image.getUrl(), imageManager.getImageLoader());
在我的同事的设备上,它工作顺利,但在我和第三个测试设备上,我们得到一堆凌空错误,一些图像保持空白(两个设备上的图像不同)。
图像都在同一台服务器上,我们绝对没有理由看到有些图像加载而有些图像不加载,或者为什么它应该依赖设备来加载图像。
09-17 14:15:51.660: E/Volley(19440): [1087] BasicNetwork.performRequest: Unexpected response code 412 for xxxx
那么我们如何解决这个问题以及造成这种行为的原因是什么?
答案 0 :(得分:1)
要求在rQueue.getCache().clear();
之前清除缓存
我看了下Volley提交的数据捕获,如果缓存,那么添加了两个Http头信息If-None-Match & If-Modified-Since
,这两个参数更新用于判断是否缓存的信息,如果webserver不支持,则返回错误代码412
答案 1 :(得分:0)
imageLoader.get(image_url, ImageLoader.getImageListener(viewHolder.status_pic, R.drawable.icon_loading, R.drawable.icon_error));
最好在使用齐射获取图像时使用侦听器,但错误412 - 前提条件失败
为什么会发生
服务器不符合请求者提出请求的前提条件之一。即,请求的标头指定了关于不适用于所请求文件的可接受文件的信息。