2010-07-03 58 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

鏈接不同網絡提供商和國家或整個名單是非常歡迎!