Glide图片发请求+缓存简单实用解析
来源:互联网 发布:宝马刷隐藏软件 编辑:程序博客网 时间:2024/05/21 03:25
Glide图片发请求+缓存简单实用解析
分类:
版权声明:本文为博主原创文章,未经博主允许不得转载。
1、引入依赖:compile 'com.github.bumptech.glide:glide:3.7.0'
2、配置
1、 配置需要实现 GlideModule,在此,GlideModule 相当于 Application 的角色,属于全局配置,在该实现类中可以设置图片缓存信息;
2、在 AndroidManifest.xml 中需要配置
至此,配置完成。GlideModule 实现类如下
public class MyGlideModule implements GlideModule {
@Override
public void applyOptions(Context context, GlideBuilder builder) {
MemorySizeCalculator calculator = new MemorySizeCalculator(context);
int defaultMemoryCacheSize = calculator.getMemoryCacheSize();
int defaultBitmapPoolSize = calculator.getBitmapPoolSize();
int cacheSize100MegaBytes = 104857600;
builder.setMemoryCache(new LruResourceCache(defaultMemoryCacheSize));
builder.setBitmapPool(new LruBitmapPool(defaultBitmapPoolSize));
String downloadDirectoryPath = context.getExternalCacheDir().getPath() + File.separator + "glide";
builder.setDiskCache(new DiskLruCacheFactory(downloadDirectoryPath,cacheSize100MegaBytes));
}
@Override
public void registerComponents(Context context, Glide glide) {
}
}
3、界面调用,示例如下:
Glide.with(YourFragment).load(imageUrl).error(失败时显示的图片)
.diskCacheStrategy(DiskCacheStrategy.SOURCE).into(YourImageView);
4、缓存说明:
说明:本文章只是为了记录下自己学习 glide 时对缓存的理解,文章将的浅显,具体使用方法推荐查看官方文档。
2、配置
1、 配置需要实现 GlideModule,在此,GlideModule 相当于 Application 的角色,属于全局配置,在该实现类中可以设置图片缓存信息;
2、在 AndroidManifest.xml 中需要配置
至此,配置完成。GlideModule 实现类如下
public class MyGlideModule implements GlideModule {
@Override
public void applyOptions(Context context, GlideBuilder builder) {
MemorySizeCalculator calculator = new MemorySizeCalculator(context);
int defaultMemoryCacheSize = calculator.getMemoryCacheSize();
int defaultBitmapPoolSize = calculator.getBitmapPoolSize();
int cacheSize100MegaBytes = 104857600;
builder.setMemoryCache(new LruResourceCache(defaultMemoryCacheSize));
builder.setBitmapPool(new LruBitmapPool(defaultBitmapPoolSize));
String downloadDirectoryPath = context.getExternalCacheDir().getPath() + File.separator + "glide";
builder.setDiskCache(new DiskLruCacheFactory(downloadDirectoryPath,cacheSize100MegaBytes));
}
@Override
public void registerComponents(Context context, Glide glide) {
}
}
3、界面调用,示例如下:
Glide.with(YourFragment).load(imageUrl).error(失败时显示的图片)
.diskCacheStrategy(DiskCacheStrategy.SOURCE).into(YourImageView);
4、缓存说明:
调用第 3 步时,获取的图片先保存在内存,然后是本地磁盘,最后显示在界面上,如果在内存或者本地磁盘中发生错误,可能不会显示在界面上。当成功执行第 3 步后,在内存和本地磁盘均缓存了该图片的信息,缓存策略是最近最久未使用策略,当想要再次使用缓存的图片时,继续执行第 3 步,但本次执行会先在内存中查找,然后是本地磁盘缓存,如果都没找到,最后再从网络上根据 imageUrl 获取该图片。
5、推荐加入第三方库:compile 'jp.wasabeef:glide-transformations:2.0.1'
该库包含一些常用的图片样式,例如图片模糊、圆角、圆形图片、转为黑白图片等等,使用方法很简单,只需加上一个bitmapTransform(该库提供的图片样式),如:Glide.with(MainActivity.this).load("http://pic33.nipic.com/20130916/3420027_192919547000_2.jpg").error(R.mipmap.ic_launcher) .bitmapTransform(new CropCircleTransformation(this)) .diskCacheStrategy(DiskCacheStrategy.SOURCE).into(glide);
说明:本文章只是为了记录下自己学习 glide 时对缓存的理解,文章将的浅显,具体使用方法推荐查看官方文档。
阅读全文
0 0
- Glide图片发请求+缓存简单实用解析
- Glide图片发请求+缓存简单实用解析
- Glide加载图片的简单实用
- android图片缓存框架Glide解析
- Glide简单实用总结
- Glide图片缓存框架
- Glide图片缓存知识点
- 图片缓存框架Glide
- Glide图片缓存
- Glide--Android图片缓存
- 浅谈Glide图片缓存
- 图片缓存-glide
- Glide缓存源码解析
- Glide 4.x之请求网络图片数据流程解析
- Android中图片加载框架Glide解析3----深入探究Glide的缓存机制
- 开始使用Glide图片缓存
- Android图片缓存框架-Glide
- android glide 获取缓存图片
- Glide 缓存策略 内存缓存和磁盘缓存
- Android Glide获取缓存大小与清除缓存
- 微信通知没声音原因
- Servlet基础
- BZOJ 1047 [HAOI2007]理想的正方形 二维ST表+压维
- Glide图片发请求+缓存简单实用解析
- 【C】单链表面试题(进阶)
- 多线程
- express-5-路由事例
- linux下的信号是怎么回事
- 射线追踪(ray tracing)
- Java并发包中Lock的实现原理
- 树的实现
- <NOIP> 25 . P1217 [USACO1.5]回文质数 Prime Palindromes