删除/删除特定的缓存

时间:2018-08-02 11:30:52

标签: android android-glide

我目前正在开发基于用户的应用(例如朋友应用) 它只是使用这个精美的库简单地显示了用户列表以及他们的头像和缓存图像。但是问题发生在 特定用户的头像的URL发生更改,并且在应用程序的缓存目录中保存了两个不同的头像图像。

不需要多个头像或一个用户。 从长远来看,它将充满这些不同用户以前的化身的垃圾缓存。 需要只缓存用户的单个头像 当网址更改时,删除上一个缓存并缓存更新的头像

滑行版本:4.7.1

一个用户有两个不同的缓存文件 不需要上一个!

请指导,这是一个严重的障碍。

请注意,头像的网址是动态的,唯一的标识符将是用户phone_number

1 个答案:

答案 0 :(得分:0)

您可以尝试这种方式-

public class GlideIdWithModifiedTime extends GlideUrl {

    private String mKey;

    public GlideIdWithModifiedTime(String url,String id, String modifiedTime) {
        super(url);
        mKey = id + "_" +modifiedTime;
        Log.d("GlideKey",mKey);
    }

    @Override
    public String getCacheKey() {
        return mKey;
    }

    @Override
    public String toString() {
        return super.getCacheKey();
    }
}

要使用它-

 Glide.with(context)
                .load(new GlideIdWithModifiedTime("imageUrl","someId","modifiedTime")
                .apply(new RequestOptions().placeholder(R.drawable.placeholder))
                .into(holder.courseThumbnail);