【问题标题】:UIL Android "cache is closed"UIL Android“缓存已关闭”
【发布时间】:2014-12-11 19:55:35
【问题描述】:

我几个月来一直在毫无问题地使用这个神奇的库,它运行良好:)

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

提前致谢,

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

【问题讨论】:

  • 请分享您收到此错误的代码
  • 这就是问题所在,我自己无法重现它,我只是从 crashlytics 得到这个堆栈跟踪,而日志没有显示更多。我想了解在哪种情况下会在 UIL 中触发此错误(除了缓存已关闭)以及它如何处于这种状态(例如错误终止活动或片段)
  • 我也遇到了同样的错误。我打开了一个应该显示图像的屏幕,应用程序崩溃了
  • 如果我是你,我不会使用图书馆。请看stackoverflow.com/questions/42227456/…

标签: android caching universal-image-loader


【解决方案1】:

这个异常来自DiskLruCachecheckNotClosed方法,当journalWriter为null时,会发生这种异常。

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

日志在缓存文件夹下,查看是否有更改或删除。

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

【讨论】:

    猜你喜欢
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 2014-04-08
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多