zoukankan      html  css  js  c++  java
  • Glide 缓存使用

    开发中遇到的问题,使用glide加载网络图片,每次更换头像后返回页面要同步显示已改过的头像。

    我们服务端是每次上传的个人头像只是替换原图,路径并不变。

    这就导致glide加载时会使用缓存的图片,导致页面图片显示不同步。

    针对这个问题,我做了如下优化去掉磁盘缓存

     Glide.with(this).load(imagePath).asBitmap().diskCacheStrategy(DiskCacheStrategy.NONE)
                    .placeholder(R.drawable.defaultusericon_1).into(new BitmapImageViewTarget(ivPersonal) {
                @Override
                protected void setResource(Bitmap resource) {
                    RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(context.getResources(), resource);
                    roundedBitmapDrawable.setCircular(true);
                    ivPersonal.setImageDrawable(roundedBitmapDrawable);
                }
            });

    然而并没有什么卵用,惆怅许久才知道glide还会有个内存缓存,修正如下:

     Glide.with(this).load(imagePath).asBitmap().skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE)
                    .placeholder(R.drawable.defaultusericon_1).into(new BitmapImageViewTarget(ivPersonal) {
                @Override
                protected void setResource(Bitmap resource) {
                    RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(context.getResources(), resource);
                    roundedBitmapDrawable.setCircular(true);
                    ivPersonal.setImageDrawable(roundedBitmapDrawable);
                }
            });
  • 相关阅读:
    Django基础
    DRF初始化/DRF认证、权限、限流、分页、过滤、序列化
    Pyinstaller安装和使用
    爬虫概述
    django在test.py测试文件中的配置
    django ORM 多对多关系
    django中的分页
    vue安装及新建项目
    app应用路由设置
    Django之Session与Cookie原理及区别
  • 原文地址:https://www.cnblogs.com/epmouse/p/6763465.html
Copyright © 2011-2022 走看看