2013-03-14 37 views
0

我使用Universal Image Loader加載95KB圖像,尺寸爲1024x683。當我在無線上時,圖像加載得很好。但是,如果我關閉無線並使用手機的網絡,則會以305x203的速度下載圖像。Android UniversalImageLoader在不用無線時加載較小圖像

這是我的配置:

// setup the image async loader 
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder() 
    .cacheInMemory() 
    .cacheOnDisc() 
    .build(); 
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) 
    .defaultDisplayImageOptions(defaultOptions) 
    .build(); 
ImageLoader.getInstance().init(config); 

這是下載:

ImageLoader.getInstance().displayImage(imageUrl, imageView, new SimpleImageLoadingListener() { 
    @Override 
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
     super.onLoadingComplete(imageUri, view, loadedImage); 
     android.util.Log.v("image size", String.valueOf(loadedImage.getWidth())+" x "+String.valueOf(loadedImage.getHeight())); 
    } 
}); 

我試着刪除cacheInMemory。我嘗試過使用loadImage並指定目標大小,但它仍以較小的尺寸下載。我試圖改變圖像縮放類型,使用NONE和EXACTLY,沒有改變。

我覺得我錯過了一些明顯的東西,但我無法弄清楚。

+0

我不能相信'ImageScaleType.NONE'不會改變任何東西。嘗試重新檢查。 – NOSTRA 2013-05-19 19:48:06

回答

1

不知道UniversalImageLoader實際上做了什麼,但可能它是負責任的。您可以通過下載帶有兩種連接類型(WiFi和移動設備)的普通AndroidHttpClient連接的圖像,然後比較它們的實際大小來找到它。

由於您的網絡運營商的重新格式化代理會檢測到您的移動設備的用戶代理並在您不知情或不請求的情況下縮小圖像,從而導致此現象。我知道這聽起來很奇怪,但是那些事情發生了。你可以發現這種情況,但嘗試一個不同的提供者(改變sim卡)或嘗試改變你的http用戶代理(假裝成一個完整的桌面firefox)的設置。

祝你好運!

+0

好的呼籲檢查這些事情。我只是嘗試了一個BufferedInputStream來直接抓取文件,結果是無線和移動設備上的全尺寸圖像。 – Harry 2013-03-14 19:26:40

相關問題