具有自定义基本图像下载器的 Android 通用图像加载器始终提供总大小为 51200

标签 android uiimageview universal-image-loader

您好,我正在构建小型 Android 应用程序,我在其中使用了通用图像加载器。我正在使用自定义下载器类:它看起来如下所示:

public class CustomUniversalImageDownloader extends BaseImageDownloader {

    /**
     * Constructor
     * @param context
     */
    public CustomUniversalImageDownloader(Context context) {
        super(context);
    }

    @Override
    public InputStream getStream(String imageUri, Object extra) throws IOException {
        switch (Scheme.ofUri(imageUri)) {
            case HTTP:
            case HTTPS:
                // here is my code ...

                    return new BufferedInputStream(response.getEntity().getContent(), BUFFER_SIZE);

            case FILE:
                return getStreamFromFile(imageUri, extra);
            case CONTENT:
                return getStreamFromContent(imageUri, extra);
            case ASSETS:
                return getStreamFromAssets(imageUri, extra);
            case DRAWABLE:
                return getStreamFromDrawable(imageUri, extra);
            case UNKNOWN:
            default:
                return getStreamFromOtherSource(imageUri, extra);
        }
    }

在显示图像时,我正在执行以下操作:

ImageCache.loader.displayImage(url, view, ImageCache.options, new SimpleImageLoadingListener() {
                        @Override
                        public void onLoadingStarted(String imageUri, View view) {

                        }

                        @Override
                        public void onLoadingFailed(String imageUri, View view,
                                                    FailReason failReason) {

                        }

                        @Override
                        public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {



                        }
                    }, new ImageLoadingProgressListener() {
                        @Override
                        public void onProgressUpdate(String imageUri, View view, int current,
                                                     int total) {

            // here my total always coming as 512000
                            Debug.print("inside this is image loading progress "+current+"  this is total ... "+total);
                            Debug.print("inside this is image loading progress "+Math.round(100.0f * current / total));

                        }
                    }
            );
        }

因此,如果我使用默认的 Base Image Downloader,它就可以正常工作。但是如果我使用自定义的那么它总是给图像总长度 512000。我错过了什么吗? 需要一些帮助。谢谢。

最佳答案

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
        ...
        .imageDownloader(new BaseImageLoaderCustom())
        ...
        .build();
ImageLoader.getInstance().init(config);

来自诺斯特拉: How set custom downloader in Universal Image Loader?

关于具有自定义基本图像下载器的 Android 通用图像加载器始终提供总大小为 51200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31935343/

相关文章:

Android 通用图像加载器编译器错误

Android 支持库规范

android - android设备中的sqlite问题

ios - UIButton 的动画图像不会快速显示

java - Android 线程顺序/ontouch webview

android - 是否可以从网络服务器上的目录加载图像?

Android 上下文和 OSGi 包

Android Kotlin AAR - 地点和方式

ios - 具有全宽和可变高度的 UIImageView

ios - swift 在代码中把一个生成的imageView变成一个UIButton