android - UIL 安卓 "cache is closed"

标签 android caching universal-image-loader

几个月来我一直在毫无问题地使用这个神奇的库,而且它工作得很好 :)

在我的上一个应用程序中,我通过 crashlytics 遇到了很多错误,但我自己无法重现。有谁知道它是如何发生的,以及我如何纠正我的应用程序以使其没有这种行为?我知道这不是库问题,肯定是我的应用程序中的问题,但我不明白它是如何发生的。

提前致谢

java.lang.IllegalStateException: cache is closed at com.nostra13.universalimageloader.cache.disc.impl.ext.DiskLruCache.checkNotClosed(DiskLruCache.java:642) at com.nostra13.universalimageloader.cache.disc.impl.ext.DiskLruCache.get(DiskLruCache.java:413) at com.nostra13.universalimageloader.cache.disc.impl.ext.LruDiscCache.get(LruDiscCache.java:124) at com.nostra13.universalimageloader.core.ImageLoaderEngine$1.run(ImageLoaderEngine.java:72) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) at java.lang.Thread.run(Thread.java:841)

最佳答案

这个Exception来自于DiskLruCachecheckNotClosed方法。当journalWriter为null时,就会出现这样的异常。

journal 大小减半时,journalWriter 将关闭并开始重建。在此期间的任何操作都会引发此类异常。

日记在cache文件夹下,检查是否有改动或删除。

如果要清除DiskCache,最好使用framework api清除DiskCache。

关于android - UIL 安卓 "cache is closed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26404574/

相关文章:

strings.xml 中的 Android `templateMergeStrategy`

android - 如何在android中的NestedScrollView中应用平滑垂直滚动

android - 当应用程序被杀死时,Glide Cache 不会持续存在

c# - 手动创建/填充 .NET Session 对象

android通用图像加载器使用私钥/公钥获取图像

java - 以编程方式查找 Android 系统信息

android - 模拟器 : ERROR: x86 emulation currently requires hardware acceleration

caching - Azure创建区域 "This operation is not supported by the cache."

android - Universal Image Loader 仅在滚动时圆形图像

android - 如何在android中使用通用图像加载器缓存图像