我正在使用Nostra的Universal Image Loader来显示图像。这是我想要显示的图像的网址:
http://hitbullseye.com/ATTACHMENT/test6eac134c-81ae-4a47-ba28-f25dcc48718a.jpg
我在logcat中收到以下错误:
我不明白的一件事是为什么UIL会在网址末尾附加_480x800。我检查了图像,它的尺寸是248x72。这是我的代码:
我在其中创建配置的应用程序类:
public class BullsEyeApplicationGlobal extends Application {
@Override
public void onCreate() {
super.onCreate();
File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext());
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
getApplicationContext())
.taskExecutor(null)
.taskExecutorForCachedImages(null)
.threadPoolSize(3)
// default
.threadPriority(Thread.NORM_PRIORITY - 1)
// default
.tasksProcessingOrder(QueueProcessingType.FIFO)
// default
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new LruMemoryCache(2 * 1024 * 1024))
// default
.discCache(new UnlimitedDiscCache(cacheDir))
.imageDownloader(
new BaseImageDownloader(getApplicationContext())) // default
.imageDecoder(new BaseImageDecoder(false)) // default
.defaultDisplayImageOptions(DisplayImageOptions.createSimple()) //
.writeDebugLogs().build();
ImageLoader.getInstance().init(config);
}
}
这是我加载图片的地方:
ImageLoader imgL = ImageLoader.getInstance();
DisplayImageOptions options = new DisplayImageOptions.Builder()
.resetViewBeforeLoading(false) // default
.cacheInMemory(true) // default
.cacheOnDisc(true) // default
.considerExifParams(false) // default
.imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default
.bitmapConfig(Bitmap.Config.ARGB_8888) // default
.build();
ImageView imgg = (ImageView) v1.findViewById(R.id.test_image);
imgL.displayImage(js.getString("TestImage"), imgg, options);
答案 0 :(得分:1)
这不是图书馆的问题。问题是图像是CMYK - 8bit / channel - jpg文件。它们应该是RGB-16 bit / channel-png文件,以使它们可以在所有设备上运行。所以,问题出在图像上。我的问题现在已经解决了,希望能帮到别人!