2
我在Universal Image Loader中無法載入較大的圖像。顯示大圖像時無法解碼圖像
我這樣的代碼
09-27 14:13:00.982: E/ImageLoader(31251): Image can't be decoded [http://www.kenrockwell.com/canon/lenses/images/100mm/IMG_1906.JPG_1080x1920]
ImageLoader imageLoader = null;
try {
File cacheDir = StorageUtils.getOwnCacheDirectory(this, Environment
.getExternalStorageDirectory().getAbsolutePath());
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheOnDisc().imageScaleType(ImageScaleType.EXACTLY)
.bitmapConfig(Bitmap.Config.RGB_565).build();
ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(
this).defaultDisplayImageOptions(defaultOptions)
.discCache(new UnlimitedDiscCache(cacheDir))
.memoryCache(new WeakMemoryCache());
ImageLoaderConfiguration config = builder.build();
imageLoader = ImageLoader.getInstance();
imageLoader.init(config);
} catch (Exception e) {
e.printStackTrace();
}
ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
imageLoader
.displayImage(
"http://www.kenrockwell.com/canon/lenses/images/100mm/IMG_1906.JPG",
imageView1, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String arg0, View arg1) {
// TODO Auto-generated method stub
}
@Override
public void onLoadingFailed(String arg0, View arg1,
FailReason arg2) {
Log.e("", "" + arg2);
}
@Override
public void onLoadingComplete(String arg0,
View arg1, Bitmap arg2) {
}
@Override
public void onLoadingCancelled(String arg0,
View arg1) {
}
});
我得到的錯誤,我能夠加載其他圖像僅此圖片可以知道B loaded.may是它的大小超過5 MB。那麼如何使用UIL加載大圖像。有沒有其他方法來解決這個問題?
更多日誌?一個堆棧跟蹤,可能是? – njzk2
'http:// www.kenrockwell.com/canon/lenses/images/100mm/IMG_1906.JPG_1080x1920'不存在,並且不是您在代碼中調用的內容。你確定這是你使用的代碼嗎? – njzk2
此外,這個圖像是巨大的,並可能很容易導致內存不足 – njzk2