2010-07-03 57 views
2

我想从网络下载图像并将其设置为用户背景。这在Wi-Fi和一些3G网络方面效果很好,但其他人(T-Mobile UK肯定)在发送图像之前似乎会压缩图像。避免在某些3G网络上进行图像压缩

当使用浏览器时,此效果也很明显 - 但是,如果您长时间按下图像并保存图像,则在图库中查看时,图像根本不会被压缩,或者实际上不会被压缩。我希望能够在我自己的应用程序中做到这一点。

我认为它与HTTP标头有关,但是我修改过的标头没有任何区别。

任何人都可以帮助我吗?

在这里类似的问题Android: BitmapFactory.decodeByteArray gives pixelated bitmap但是没有解决。

回答

4

您是否尝试过设置无缓存头?这可能适用于某些网络。

您还可以尝试让客户端第二次请求图像,这也可以跳过压缩。

+2

设置“Pragma:no-cache”和“Cache-Control:no-cache”似乎已经完成了。谢谢! – blork 2010-07-03 10:08:47

0

如果您可以控制用户下载的图像,则可能需要将其放入包含图像的ZIP文件中,让代码解压缩图像并将其设置为背景。您肯定没有网络会以这种方式应用任何降级。

当然但是,如果你没有在画廊中的用户可以从选择的控制,这种解决方案并不适用...

+0

不幸的是我没有。我曾尝试设置Accept-Encoding:gzip,但服务器没有任何。 – blork 2010-07-03 10:06:56

1

设置一个no-cache头几年前已经停止了一些供应商,如沃达丰德国。

相反,这些提供商提供了一个web界面,您可以在其中自行调整设置。对于沃达丰德国公司,您只需拨打performance.vodafone.de即可进入基本设置对话框,但您也可以选择“专家设置”选项,以获得更精细的控制和高级选项。

Basic settings

Advanced settings

链接不同网络提供商和国家或整个名单是非常欢迎!