几个月来我一直在毫无问题地使用这个神奇的库,而且它工作得很好 :)
在我的上一个应用程序中,我通过 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来自于DiskLruCache
的checkNotClosed
方法。当journalWriter
为null时,就会出现这样的异常。
当 journal
大小减半时,journalWriter
将关闭并开始重建。在此期间的任何操作都会引发此类异常。
日记在cache文件夹下,检查是否有改动或删除。
如果要清除DiskCache,最好使用framework api清除DiskCache。
关于android - UIL 安卓 "cache is closed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26404574/