0

Universal Image Loaderを使用して、サイズが1024x683の95KBの画像を読み込んでいます。ワイヤレスを使用している場合、画像は問題なく読み込まれます。ただし、ワイヤレスをオフにして電話のネットワークを使用すると、305x203で画像がダウンロードされます。

これは私の設定です:

// 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を使用して、画像の縮尺タイプを変更してみましたが、変更はありません。

明らかな何かが欠けているような気がしますが、それを理解することはできません。

4

1 に答える 1

1

正確にはUniversalImageLoaderが実際に行うことですが、おそらくそれが原因です。両方の接続タイプ(WiFiとモバイル)の通常のAndroidHttpClient接続で画像をダウンロードし、実際のサイズを比較することで確認できます。

この現象は、モバイルデバイスのユーザーエージェントを検出し、ユーザーの知らないうちに要求なしに画像を縮小する、ネットワークオペレーターの再フォーマットプロキシによっても発生する可能性があります。私はこれが奇妙に聞こえることを知っています、しかしそれらのことは起こります。これが事実であることがわかりますが、別のプロバイダーを試す(simカードを変更する)か、httpユーザーエージェントの設定を変更する(本格的なデスクトップFirefoxのふりをする)ことによって。

幸運を!

于 2013-03-14T17:57:34.297 に答える