您好,我正在构建小型 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/