【问题标题】:Is there a way to know where an image was loaded from on UniversalLoader?有没有办法知道在 UniversalLoader 上从哪里加载图像?
【发布时间】:2016-09-23 00:55:47
【问题描述】:

我在我的项目中使用通用图像加载器。如果图像是从服务器加载的,如果从内存或磁盘缓存加载,我想做一个特定的操作。

到目前为止,我发现这样做的唯一方法是提前 ping 内存和磁盘缓存以查看它们是否包含图像。这不是很好,因为如果它不存在,显示图像的正常流程将重复此检查,所以我正在重复努力。

有没有更好的方法来做到这一点?我在代码中看到了一个 LoadedFrom 变量,它通过不同的内部方法传递,但不会在公共 API 上返回。

【问题讨论】:

    标签: android universal-image-loader


    【解决方案1】:

    您可以使用此代码检查是否缓存图像:

    public static boolean checkCacheImageUri(String uri) {
            List<String> findCacheKeysForImageUriThumbnail = MemoryCacheUtils.findCacheKeysForImageUri(
                    uri, ImageLoader.getInstance().getMemoryCache());
            if (findCacheKeysForImageUriThumbnail != null
                    && !findCacheKeysForImageUriThumbnail.isEmpty()) {
                return true;
            }
            return false;
        }
    

    【讨论】:

    • 这只会告诉我图像是否缓存在内存中,但不会告诉我它是否缓存在磁盘上:(
    猜你喜欢
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多