android 快速滑动时不加载图片大小,android-通用图片加载器在快速滚动时崩溃

我正在使用nostra的Universal Image Loader,我正在使用它来将图像加载到gridview上,尺寸为100 * 100,但是当在网格视图中真正快速滚动时会引发异常(仅用于演示,我在网格适配器上有13000个图像),尽管库处理该异常,并且不会通知用户有关该异常的信息,以下是该异常

06-21 11:13:17.748: E/ImageLoader(2070): No such file or directory

06-21 11:13:17.748: E/ImageLoader(2070): java.io.FileNotFoundException: No such file or directory

06-21 11:13:17.748: E/ImageLoader(2070): at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:145)

06-21 11:13:17.748: E/ImageLoader(2070): at android.content.ContentProviderProxy.openTypedAssetFile(ContentProviderNative.java:612)

06-21 11:13:17.748: E/ImageLoader(2070): at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:607)

06-21 11:13:17.748: E/ImageLoader(2070): at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:536)

06-21 11:13:17.748: E/ImageLoader(2070): at android.content.ContentResolver.openInputStream(ContentResolver.java:371)

06-21 11:13:17.748: E/ImageLoader(2070): at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStreamFromContent(BaseImageDownloader.java:177)

06-21 11:13:17.748: E/ImageLoader(2070): at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStream(BaseImageDownloader.java:88)

06-21 11:13:17.748: E/ImageLoader(2070): at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.downloadImage(LoadAndDisplayImageTask.java:290)

06-21 11:13:17.748: E/ImageLoader(2070): at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryCacheImageOnDisk(LoadAndDisplayImageTask.java:273)

06-21 11:13:17.748: E/ImageLoader(2070): at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:229)

06-21 11:13:17.748: E/ImageLoader(2070): at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:135)

06-21 11:13:17.748: E/ImageLoader(2070): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)

06-21 11:13:17.748: E/ImageLoader(2070): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)

06-21 11:13:17.748: E/ImageLoader(2070): at java.lang.Thread.run(Thread.java:856)

代码如下:

>已添加WRITE_EXTERNAL_STORAGE

>内存和磁盘缓存

> UnlimitedDiskCache用于磁盘缓存

>使用最新的库1.9.2

话虽这么说,库崩溃了,并且不再能够加载图像并重复所有以前的图像,在这种情况下如何重置库并重新启动?

下面是ImageLoader的配置

String cacheDirectory=context.getCacheDir()+ImageLoaderConstants.IMAGE_CACHE_DIRECTOY_PATH;

File cacheDir=new File(cacheDirectory);

DisplayImageOptions options = new DisplayImageOptions.Builder()

.delayBeforeLoading(0)

.cacheInMemory(true)

.cacheOnDisk(true)

.imageScaleType(ImageScaleType.EXACTLY)

.bitmapConfig(Bitmap.Config.RGB_565)

.displayer(new SimpleBitmapDisplayer())

.build();

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context).threadPoolSize(5)

.threadPriority(Thread.NORM_PRIORITY)

.denyCacheImageMultipleSizesInMemory()

.memoryCacheExtraOptions(1280, 720)

.diskCacheExtraOptions(1280, 720,null)

.memoryCache(new LruMemoryCache(5*1024*1024))

.diskCache(new UnlimitedDiscCache(cacheDir))

.defaultDisplayImageOptions(options)

.build();

更新:

适配器代码没有什么,

imageLoader.displayImage(uriPath, holder.imgThumbnail);

我具有UIL GitHub的“使用情况”部分中定义的所有配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值