Glide之后台线程加载及缓存资源
来源:互联网 发布:微信软件介绍 编辑:程序博客网 时间:2024/06/08 14:13
在后台线程加载及缓存资源
为了使后台线程加载和处理媒体资源更容易,Glide新增了两个API:
- downloadOnly(int, int)
- into(int, int)
Glide的downloadOnly(int, int)
API允许你下载图片的字节流到磁盘中,以便你之后用到。你可以在UI线程中异步地使用(需要一个Target作为参数)或者在后台线程中同步地使用(需要整数的宽高值作为参数)。
在后台线程中同步下载图片(仅下载图片到磁盘而不做任何处理):
FutureTarget<File> future = Glide.with(applicationContext) .load(yourUrl) .downloadOnly(500, 500);File cacheFile = future.get();
之后,如果你想显示这个已缓存的图片,可以这样:
Glide.with(yourFragment) .load(yourUrl) .diskCacheStrategy(DiskCacheStrategy.ALL) .into(yourView);
使用DiskCacheStrategy.ALL或DiskCacheStrategy.SOURCE以确保Glide使用这个已缓存的图片资源(全尺寸的缓存)。
如果你确实想在后台线程中处理一下已解码的图片,就不要用downloadOnly(int, int)
了,可以用into(int, int)
API获取一个FutureTarget
,然后使用.get()
就可以拿到Bitmap了。如获取一个500*500的centerCrop图片:
Bitmap myBitmap = Glide.with(applicationContext) .load(yourUrl) .asBitmap() .centerCrop() .into(500, 500) .get()
但要注意,.get()
会阻塞主线程,影响App的性能和交互,所以最好不要在主线程中使用。
0 0
- Glide之后台线程加载及缓存资源
- Glide之后台线程加载及缓存资源
- Glide之后台线程加载及缓存资源
- Glide之后台线程加载及缓存资源
- Win32多线程之后台线程
- java多线程之后台线程
- 线程之后台线程(一)
- Glide加载gif及拓展
- 图片加载及缓存框架Glide在安卓开发中的应用
- Glide加载图片并实现图片缓存
- Android图片加载缓存框架Glide
- android Glide加载图片缓存重复问题解决
- Glide加载图片缓存库出现
- Glide加载相同地址图片,不缓存
- 【MySQL】InnoDB体系结构之后台线程
- 图片加载与缓存利器(自动缓存)--第三方开源-- Glide
- Java线程之后台线程(守护线程)
- android之后台线程(UI与线程交互)
- 百度地图:加强篇(定位)
- 把数组排成最小的数
- Maven项目报错:Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clea
- Redis命令操作详解
- Redy语法分析--比较运算符(> >= < <= != == )
- Glide之后台线程加载及缓存资源
- @ResponseBody注解
- java的TreeMap类
- javascript中this的四种用法
- <!DOCTYPE html>很重要
- PHP正则表达式
- MySQL 5.6 生产环境标准配置
- 基于PCA的人脸识别流程
- IDEA入门 常用快捷键