Android Glide设置和获取缓存的路径

原创 2018年04月17日 15:32:12

1.接口GlideModule实现GlideBuider的实现类指定缓存的路径

public class GiphyGlideModule implements GlideModule {
    
    public GiphyGlideModule( ) {
    }

    @Override
    public void applyOptions(Context context, GlideBuilder builder) {
        //设置图片的显示格式ARGB_8888(指图片大小为32bit)
        builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);

        builder.setDiskCache(new DiskCache.Factory() {
            @Override
            public DiskCache build() {//缓存的路径
                return DiskLruCacheWrapper.get(new File(Environment.getExternalStorageDirectory(),"GlidePhoto"), 200*1000*1000);
            }
        });
    }

    @Override
    public void registerComponents(Context context, Glide glide) {

    }
}

2:在AndroidManifest中配置GiphyGlideModule

<meta-data
    android:name="包名.GiphyGlideModule"
    android:value="GlideModule" />

3.获取缓存的路径

private class getImageAsyncTask extends AsyncTask<String, Void, File> {
    private final Context context;

    public getImageAsyncTask(Context context) {
        this.context = context;
    }

    @Override
    protected File doInBackground(String... params) {
        String imgUrl =  params[0];
        Log.e("imgUrl", imgUrl);
        try {
            return Glide.with(context)
                    .load(imgUrl)
                    .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
                    .get();
        } catch (Exception ex) {
            return null;
        }
    }

    @Override
    protected void onPostExecute(File result) {
        if (result == null) {
            return;
        }
        //path就是对应文件的缓存路径
        String path = result.getPath();
        Log.e("path", path);
        Bitmap bmp= BitmapFactory.decodeFile(path);
        img.setImageBitmap(bmp);

    }
}

4.调用方法

new getImageAsyncTask(AddBigImageActivity.this).execute("uri");



版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39735504/article/details/79975473

android Glide 获取磁盘缓存

Glide是Google推荐的图片加载库, 加载图片一般以下面的形式:Glide.with(context).load(ImgUrl) ..asBitmap() .error(...
  • lbcab
  • lbcab
  • 2016-10-13 19:18:07
  • 7638

怎样更改Glide的缓存路径

第一次写博客,可能说的不够全面,先凑合着看吧! 首先添加Glide依赖包,怎么添加这里就不再说了。 开始指定缓存路径(博主使用的是sd卡路径): 1:在Activity中创建好缓存的目录。 if (...
  • liulong_
  • liulong_
  • 2016-12-15 23:16:57
  • 7750

glide 设置缓存路径

glide下载的图片缓存都是保存到app内的,有时候可能会有需求把缓存放到SD卡上,当然,我的手机没有SD卡,所以就没法测试怎么设置SD卡路径了 按照教程在build.gradle内添加 im...
  • u010302327
  • u010302327
  • 2018-01-11 15:37:54
  • 408

android glide 获取缓存图片

Glide是Google推荐用的图片加载框架,很简单就可以加载出图片了,如下: Glide.with(context).load(ImgUrl).into(ImageView); 也可以加一些常用的功...
  • u012737144
  • u012737144
  • 2017-03-08 15:02:19
  • 8749

android自定义Glide图片加载(以更改Glide缓存路径和使用ARGB_8888的图片格式为例)

首先引入Glide: compile 'jp.wasabeef:glide-transformations:2.0.1'自定义GlideModulepackage tsou.cn.glidetest...
  • huangxiaoguo1
  • huangxiaoguo1
  • 2017-11-20 16:02:39
  • 2135

Android Glide缓存清除与获取缓存大小

http://blog.csdn.net/yaphetzhao/article/details/51729356 不多说了,还是直接上代码吧 /** * Created by...
  • a123473915
  • a123473915
  • 2016-11-25 10:41:21
  • 3543

android 使用Glide加载图片的默认缓存路径

项目中用到Glide来加载图片,清除缓存的时候,肯定要清除Glide的缓存。先说一下路径吧 data/data/包名/cache/iamge_manager_disk_cache 我这边是没有对G...
  • xy4_android
  • xy4_android
  • 2017-12-09 11:43:35
  • 1165

Android Glide获取缓存大小与清除缓存

1. 缓存路径的指定 2. 缓存大小的获取 3. 磁盘缓存清除(两种方法) 4. 内存缓存清除...
  • YaphetZhao
  • YaphetZhao
  • 2016-06-21 18:24:06
  • 23019

Android中Glide加载库的图片缓存配置究极指南

零、选择Glide 为什么图片加载我首先推荐Glide? 图片加载框架用了不少,从afinal框架的afinalBitmap,Xutils的BitmapUtils,老牌框架universalImag...
  • u012968084
  • u012968084
  • 2016-11-02 11:28:57
  • 2354

Glide使用之配置缓存

配置类:package com.itant.zhuling.tool.image.glide;import android.content.Context;import com.bumptech.gl...
  • ithouse
  • ithouse
  • 2017-04-19 14:52:34
  • 3838
收藏助手
不良信息举报
您举报文章:Android Glide设置和获取缓存的路径
举报原因:
原因补充:

(最多只允许输入30个字)