Glide:获取缓存文件位置

时间:2016-11-21 07:27:17

标签: android caching android-glide

我正在使用Glide在我的应用中显示图像。现在我想知道Glide存储从网址下载的缓存图像的位置。

我使用下面的代码来显示图片。

Glide.with(mContext)
            .load(mData.get(position).getImage())
            .centerCrop()
            .override(300, 300)
            .placeholder(R.drawable.default_small)
            .diskCacheStrategy(DiskCacheStrategy.SOURCE)
            .into(holder.ivCapturedImage);

2 个答案:

答案 0 :(得分:2)

 private String getImgCachePath(String url) {
    FutureTarget<File> futureTarget = Glide.with(getBaseContext()).load(url).downloadOnly(100, 100);
    try {
        File file = futureTarget.get();
        String path = file.getAbsolutePath();
        return path;
    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (ExecutionException e) {
        e.printStackTrace();
    }
    return null;
}

参数url是图片的网络地址,100,100是缓存图片的宽度和高度,您可以根据需要更改它们。 然后,路径是缓存路径。

答案 1 :(得分:1)

如果使用的是Glide 4.8.0,这是一种可用的方法(科特林)

val file: File = Glide.with(activity).asFile().load(url).submit().get()
val path: String = file.path

然后您将获得一条类似于

的路径
/data/user/0/{package_name}/cache/image_manager_disk_cache/64c0af382f0a4b41c5dd210a3e945283d91c93b1938ee546f00b9ded701a7e40.0