Android Universal ImageLoader多次加载相同的图像
我使用UniversalImageLoader加载图像。但我面临的问题是同一图像被加载了多次。下面是日志输出 日志:Android Universal ImageLoader多次加载相同的图像,android,universal-image-loader,Android,Universal Image Loader,我使用UniversalImageLoader加载图像。但我面临的问题是同一图像被加载了多次。下面是日志输出 日志: 11-11 11:10:21.342 26932-26932/com.example.sabudaniel61.ktdc D/ImageLoader: Load image from memory cache [http://loc8app.com/ktdcapp.in/ktdc/app/img/Aranya%20Nivas/room3.jpg_480x340] 11-11 11
11-11 11:10:21.342 26932-26932/com.example.sabudaniel61.ktdc D/ImageLoader: Load image from memory cache [http://loc8app.com/ktdcapp.in/ktdc/app/img/Aranya%20Nivas/room3.jpg_480x340]
11-11 11:10:21.342 26932-29175/com.example.sabudaniel61.ktdc D/ImageLoader: ImageAware is reused for another image. Task is cancelled. [http://loc8app.com/ktdcapp.in/ktdc/app/img/Aranya%20Nivas/room1.jpg_480x340]
11-11 11:10:21.342 26932-29175/com.example.sabudaniel61.ktdc D/ImageLoader: ImageAware is reused for another image. Task is cancelled. [http://loc8app.com/ktdcapp.in/ktdc/app/img/Aranya%20Nivas/room2.jpg_480x340]
MainActivity.java:
ImageLoaderConfiguration config=new ImageLoaderConfiguration.Builder(getApplicationContext()).memoryCacheExtraOptions(480,800).threadPoolSize(5).threadPriority(Thread.NORM_PRIORITY-3).denyCacheImageMultipleSizesInMemory().memoryCacheSize(2*104*1024).memoryCacheSizePercentage(13).diskCacheSize(50*1024*1024).diskCacheFileCount(100).imageDownloader(new BaseImageDownloader(getApplicationContext())).defaultDisplayImageOptions(DisplayImageOptions.createSimple()).writeDebugLogs().build();
ImageLoader.getInstance().init(config);
HotelsFragment.java:
DisplayImageOptions options=new DisplayImageOptions.Builder().showImageOnLoading(R.drawable.ktdclogonew).showImageForEmptyUri(R.drawable.ktdclogonew).showImageOnFail(R.drawable.ktdclogonew).cacheInMemory(true).cacheOnDisk(true).considerExifParams(true).bitmapConfig(Bitmap.Config.RGB_565).build();
for(int i=0;i<Images.getInstance().AranyaGll.length;i++){
imageView=(ImageView) view.findViewById((Integer) imgs_ids.get(i));
ImageLoader.getInstance().displayImage(Images.getInstance().AranyaGll[i],imageView,options);
}
DisplayImageOptions options=new DisplayImageOptions.Builder().showImageOnLoading(R.drawable.KTDCLogonNew).showImageForEmptyUri(R.drawable.KTDCLogonNew).showImageOnFail(R.drawable.KTDCLogonNew).cacheInMemory(true).cacheOnDisk(true).ConsiderExipParams(true).bitmapConfig(Bitmap.Config.RGB_565).build();
对于(int i=0;i尝试替换此:
DisplayImageOptions options = new DisplayImageOptions.Builder().showImageOnLoading(R.drawable.ktdclogonew).showImageForEmptyUri(R.drawable.ktdclogonew).showImageOnFail(R.drawable.ktdclogonew).cacheInMemory(true).cacheOnDisk(true).considerExifParams(true).bitmapConfig(Bitmap.Config.RGB_565).build();
for (int i = 0; i < Images.getInstance().AranyaGll.length; i++) {
imageView = (ImageView) view.findViewById((Integer) imgs_ids.get(i));
ImageLoader.getInstance().displayImage(Images.getInstance().AranyaGll[i], imageView, options);
}
DisplayImageOptions options=new DisplayImageOptions.Builder().showImageOnLoading(R.drawable.KTDCLogonNew).showImageForEmptyUri(R.drawable.KTDCLogonNew).showImageOnFail(R.drawable.KTDCLogonNew).cacheInMemory(true).cacheOnDisk(true).ConsiderExipParams(true).bitmapConfig(Bitmap.Config.RGB_565).build();
对于(int i=0;i
为此:
DisplayImageOptions options = new DisplayImageOptions.Builder().showImageOnLoading(R.drawable.ktdclogonew).showImageForEmptyUri(R.drawable.ktdclogonew).showImageOnFail(R.drawable.ktdclogonew).cacheInMemory(true).cacheOnDisk(true).considerExifParams(true).bitmapConfig(Bitmap.Config.RGB_565).build();
for (int i = 0; i < Images.getInstance().AranyaGll.length; i++) {
//This is the change I made.
ImageView imageView = (ImageView) view.findViewById((Integer) imgs_ids.get(i));
ImageLoader.getInstance().displayImage(Images.getInstance().AranyaGll[i], imageView, options);
}
DisplayImageOptions options=new DisplayImageOptions.Builder().showImageOnLoading(R.drawable.KTDCLogonNew).showImageForEmptyUri(R.drawable.KTDCLogonNew).showImageOnFail(R.drawable.KTDCLogonNew).cacheInMemory(true).cacheOnDisk(true).ConsiderExipParams(true).bitmapConfig(Bitmap.Config.RGB_565).build();
对于(int i=0;i
注意:我将图像视图设置为本地我认为图像没有缓存。您应该检查一下displayoption。您可以尝试增加缓存大小。请查看此->DiskCacheSize或memoryCacheSize?内存缓存大小为memoryCacheSize(2*104*1024)。我将其更改为memoryCacheSize(2*1024*1024)。仍然不起作用。