我想从'NET下载图像并将其设置为用户背景。这在Wi-Fi和一些3G网络上很有用,但是其他(当然是UK)似乎在发送图像之前似乎可以压缩图像。

当使用浏览器时,这种效果也很明显 - 但是,如果您长时间按图像并保存图像,则在图库中查看时,它要么根本没有压缩,要么大为减少。我希望能够在自己的应用程序中执行此操作。

我认为这与HTTP标头有关,但是在我修改的http标题中,没有一个有所作为。

有谁可以帮我离开这里吗?

这里类似的问题 android:bitmapfactory.decodebytearray提供像素化位图 但尚未解决。

有帮助吗?

解决方案

您是否尝试过设置无缓存标头?这可能在某些网络上起作用。

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

其他提示

一些3G网络正在压缩图像以保存bandwith。有时他们甚至都不荣誉 没有缓存 HTTP标头。绕过它们,您可以

  • 内联基地64您的图像使用Data-uri
  • 将它们作为HTTP或通过非标准HTTP端口使用

关于它的完整讨论: http://blog.sebcante.com/2012/01/prevent-image-compression-from-3g.html

设置 no-cache 几年前,Header停止了像德国沃达丰(Vodafone)这样的一些提供商。

相反,这些提供商提供了一个网络接口,您可以自己调整设置。对于沃达丰德国只是去 performance.vodafone.de 您将受到基本设置对话的欢迎,但是您也可以选择“专家设置”的选项“专家设置”,以获得更精细的粒度控制和高级选项。

Basic settings

Advanced settings

非常欢迎不同提供者和国家 /地区或整个列表的链接!

如果您对用户下载的图像有控制权,则可能需要将其放入邮政编码,包括图像在内,将代码解开图像,然后将其设置为背景。您可以确定不会以这种方式应用任何退化网络。

但是,当然,如果您无法控制用户可以选择的画廊,则此解决方案不适用...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top