android 使用Glide实现listview图片缓存

原创 2016年08月29日 14:29:02

上一博客,使用v4包的缓存机制来实现图片缓存,并在listview中实现异步加载图片,但我回顾了一下,感觉十分繁琐,想着有没有现成的jar包,或者类库什么的可以帮助我直接实现这个功能,然后Glide出现了,一句话就搞定。。大大提高了开发效率。
首先去下载Glide的jar包,
下载地址:https://github.com/bumptech/glide/releases/tag/v3.7.0
android studio用户添加引用:compile ‘com.github.bumptech.glide:glide:3.7.0’
然后将jar包添加到程序内,就可以直接使用了。
下面就是Glide的简单使用方法:
1 设置绑定生命周期

  Glide.with(Context context);// 绑定Context
  Glide.with(Activity activity);// 绑定Activity
  Glide.with(FragmentActivity activity);// 绑定FragmentActivity
  Glide.with(Fragment fragment);// 绑定Fragment

2 简单的加载图片实例

 Glide.with(this).load(imageUrl).into(imageView);

3 设置加载中以及加载失败图片

Glide.with(this).load(imageUrl).placeholder(R.mipmap.ic_launcher).error(R.mipmap.ic_launcher).into(imageView);

4 设置跳过内存缓存

 Glide.with(this).load(imageUrl).skipMemoryCache(true).into(imageView);

5 设置下载优先级

Glide.with(this).load(imageUrl).priority(Priority.NORMAL).into(imageView);

6 设置缓存策略

Glide.with(this).load(imageUrl).diskCacheStrategy(DiskCacheStrategy.ALL).into(imageView);

策略解说:
all:缓存源资源和转换后的资源
none:不作任何磁盘缓存
source:缓存源资源
result:缓存转换后的资源

7 设置加载动画

  Glide.with(this).load(imageUrl).animate(R.anim.item_alpha_in).into(imageView);

8 设置缩略图支持
这样会先加载略缩图后加载图片

 Glide.with(this).load(imageUrl).thumbnail(0.1f).into(imageView);

9 设置加载尺寸

 Glide.with(this).load(imageUrl).override(800, 800).into(imageView);

10 设置动态转换

 Glide.with(this).load(imageUrl).centerCrop().into(imageView);

11 设置动态GIF加载方式

 Glide.with(this).load(imageUrl).asBitmap().into(imageView);//显示gif静态图片
 Glide.with(this).load(imageUrl).asGif().into(imageView);//显示gif动态图片

12 缓存的动态清理

Glide.get(this).clearDiskCache();//清理磁盘缓存 需要在子线程中执行
 Glide.get(this).clearMemory();//清理内存缓存  可以在UI主线程中进行

13 设置监听请求接口

 Glide.with(this).load(imageUrl).listener(new RequestListener<String, GlideDrawable>() {
            @Override
            public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                return false;
            }

            @Override
            public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                //imageView.setImageDrawable(resource);
                return false;
            }
        }).into(imageView);
版权声明:本文为博主原创文章,未经博主允许不得转载。

listview中glide加载网络图片跳跃问题

当界面上滑快要接触到imageview的底部时 触发glide加载图片 加载完成时就会被拉到图片的顶端的问题。 第一次写博客 可能表达的都会很奇怪吧,记录一下这个遇到的问题。 百度找了一些方法 设置t...

BaseAdapter-ListView中的item显示多种布局

想要在listview中的item添加多中布局主要是加多两个方法: public int getItemViewType(int position){ return position; } pub...

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

零、选择Glide 为什么图片加载我首先推荐Glide? 图片加载框架用了不少,从afinal框架的afinalBitmap,Xutils的BitmapUtils,老牌框架universalImag...

(转)Android图片缓存之初识Glide

原地址:http://www.cnblogs.com/whoislcj/p/5558168.html 前言:      前面总结学习了图片的使用以及Lru算法,今天来学习一下比...
  • duyiqun
  • duyiqun
  • 2017年03月04日 09:36
  • 117

Android 四大大图片缓存(Imageloader,Picasso,Glide,Fresco)原理、特性对比

四大图片加载框架应用

Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide图片缓存库的联系与区别

在Android中的加载网络图片是一件十分令人头疼的事情,在网上有着许多关于加载网络图片的开源库,可以让我们十分方便的加载网络图片。在这里介绍一下Universal-Image-Loader,andr...

Android图片缓存之Glide进阶

转载:http://www.cnblogs.com/whoislcj/p/5565012.html 前言:      前面学习了Glide的简单使用(Android图片缓存之初识Gli...

Android开发图片缓存框架Glide的总结

前段时间写过一篇图片缓存框架Picasso的用法,对于Picasso有些同学也比较熟悉,采用Lru最近最少缓存策略,并且自带内存和硬盘缓存机制,在图片加载尤其是多图加载着实为大伙省了不少力,在此之前同...
  • li0978
  • li0978
  • 2016年11月30日 23:40
  • 1074

Android四大图片缓存(Imageloader,Picasso,Glide,Fresco)原理、特性对比

Android四大图片缓存

Android 图片缓存函数库 Glide vs Picasso

Glide[^2] 和 Picasso[^1] 都是 Android 世界中非常流行的图片加载函数库,Android 应用开发者在职业生涯中至少都应该用过其中一种。这两个函数库都提供了很多特性,经过优...
  • ACE1985
  • ACE1985
  • 2016年11月18日 21:46
  • 1605
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 使用Glide实现listview图片缓存
举报原因:
原因补充:

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