android glide设置缓存大小,Glide4-入门教程-5-缓存机制(内存缓存和磁盘缓存)
一、简介
这一节,主要是讲glide4的缓存机制。Glide的缓存设计是非常的先进的,考虑的场景也很周全。Glide 的缓存分为两种,一是内存缓存,另一个是硬盘缓存。
这两种缓存的作用各不相同,内存缓存的主要作用是防止应用重复将图片数据读取到内存当中,而硬盘缓存的主要作用是防止应用重复从网络或其他地方重复下载和读取数据。
二、内存缓存
在默认情况下,Glide自动开启内存缓存的,我们也可以通过调用skipMemoryCache(true) 方法,禁用内存缓存RequestOptions options = new RequestOptions()
// 关闭内存缓存
.skipMemoryCache(true);
Glide.with(this)
.load(url)
.apply(options)
.into(imageView);
三、磁盘缓存
备注:Glide缓存的资源分为两种(1,原图(SOURCE)原始图片 2,处理图(RESULT)经过压缩和变形等转化的图片)
硬盘缓存分为五种,具体看一面。可以通过调用diskCacheStrategy()方法并传入五种不同的参数
1,DiskCacheStrategy.NONE// 表示不缓存任何内容
2,DiskCacheStrategy.DATA// 表示只缓存原始图片
3,DiskCacheStrategy.RESOURCE// 表示只缓存转换过后的图片
4,DiskCacheStrategy.ALL // 表示既缓存原始图片,也缓存转换过后的图片
5,DiskCacheStrategy.AUTOMATIC//表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)
例如,我们既缓存原始图片,又缓存转化后的图片RequestOptions options = new RequestOptions()
// 既缓存原始图片,又缓存转化后的图片
.diskCacheStrategy(DiskCacheStrategy.ALL);
Glide.with(this)
.load(url)
.apply(options)
.into(imageView);
四、组合缓存策略
和其他三级缓存一样,Glide的缓存读取顺序是 内存–>磁盘–>网络
需要注意的是Glide的内存缓存和磁盘缓存的配置相互没有直接影响,所以可以同时进行配置
例如:
1,内存缓存,磁盘不缓存(这是Glide的默认缓存方式,当然也可以自己再配置一次)RequestOptions options = new RequestOptions()
// 内存缓存
.skipMemoryCache(false)
// 磁盘不缓存
.diskCacheStrategy(DiskCacheStrategy.NONE);
Glide.with(this)
.load(url)
.apply(options)
.into(imageView);
2,内存不缓存,磁盘缓存所有图RequestOptions options = new RequestOptions()
// 内存不缓存
.skipMemoryCache(true)
// 磁盘缓存所有图
.diskCacheStrategy(DiskCacheStrategy.ALL);
Glide.with(this)
.load(url)
.apply(options)
.into(imageView);
3, 内存缓存,磁盘也缓存所有图RequestOptions options = new RequestOptions()
// 内存缓存
.skipMemoryCache(false)
// 磁盘缓存所有图
.diskCacheStrategy(DiskCacheStrategy.ALL);
Glide.with(this)
.load(url)
.apply(options)
.into(imageView);
五、清除缓存
1,清除所有的内存缓存Glide.get(this).clearMemory();
2,清除所有的磁盘缓存Glide.get(this).clearDiskCache();
3,清除单个缓存Glide.with(this).clear(imageView);
六、完毕!
android glide设置缓存大小,Glide4-入门教程-5-缓存机制(内存缓存和磁盘缓存)相关推荐
- 认识AndEngine选自Android 2D游戏引擎AndEngine快速入门教程
认识AndEngine什么是AndEngine 随着Android手机.平板的盛行,Android下的游戏也不断的变得火热.而对于游戏开发有兴趣的同学们,应该也想要学习开发游戏.虽说游戏开发的引擎较多 ...
- Android 2D游戏引擎AndEngine快速入门教程
Android 2D游戏引擎AndEngine快速入门教程 介绍:AndEngine是一款知名的Android 2D游戏引擎.该引擎代码开源,并且可以免费使用.本书详细讲解如何使用AndEngine引 ...
- 怎样在计算机上设置纸大小,打印机怎么设置纸张大小 打印机设置打印纸张大小的步骤教程...
打印机怎么设置纸张大小?当我们在使用打印机打印文档时,如果我们没有调整好大小,那么打印出来的文件就会不太工整,或者只打印到部分的内容,所以想要打印出刚好合适的文件,最好是先调整好纸张大小在操作,很多的 ...
- android qq 设置界面大小设置,怎么设置手机腾讯QQ的字体大小
怎么设置手机腾讯QQ的字体大小 许多手机app都会用字体的设置,来方便我们更好的使用这些应用,那么我们怎么设置手机腾讯QQ的字体大小呢,接下来就让小编来教你们吧. 具体如下: 1. 第一步,打开手机上 ...
- el-date-picker设置默认日期_ERP入门教程:快速掌握金蝶ERP的基础-物料批次管理的应用及设置...
ERP入门教程:快速掌握金蝶ERP的基础-物料的批次管理的应用及设置 关注我,我将定期分享更多的ERP解决方案 转发关注并私信我,了解更多的解决方案及操作方法哦 一.应用软件版本:金蝶KIS旗舰版6. ...
- Android Studio设置字体大小
Android studio字体设置分为两种:一种是软件字体设置,另一种是代码字体设置.此处以Android Studio 2.2 正式版为例做说明. 1. 软件字体设置 1.1 从File--- ...
- qt 设置按钮大小_Python GUI教程(六):使用Qt设计师进行窗口布局
本篇介绍使用qt设计师进行GUI窗口的布局管理,主要包含以下内容: 使用Qt设计师布局我们的窗口部件: 垂直布局: 水平布局: 网格布局: 使用间隔: 使用"伙伴"将label标签 ...
- 磁盘与内存的亲密关系 -磁盘缓存和虚拟内存
内存和磁盘的亲密关系 1.前提 内存与磁盘都是存储部件,内存利用电流来存储.磁盘利用磁效应来存储.内存高速高价,磁盘低速廉价. 存储在磁盘中的程序必须先加载到内存中才能运行.这是因为cpu需要程序计数 ...
- android 筛选菜单_使用C语言开发跨平台(win/android)应用(PainterEngine 快速入门教程)...
PainterEngine导引 PainterEngine是一个基于C语言编写的完全开源的图形游戏引擎.你可以在这里下载到PainterEngine的完整代码及相关帮助文档 matrixcascade ...
最新文章
- Django的路由分发与名称空间
- Nginx:几种负载均衡调度策略配置
- 网站计数器 php,网站计数器 php
- mysql 控制台全是_Mysql控制台命令大全
- [攻防世界][CTF][2020][MISC] 攻防世界 MISC writeup
- 船舶定位实时查询系统_港口人员精准定位系统,实时安全管控与智能预警
- laxcus的新功能:支持表跨数据库操作
- Win7修复“会话‘循环内核上下文记录器’已停止,原因是存在以下错误:0xC0000188”
- 读书笔记2014第10本:《设计心理学》
- 浅析希区柯克的悬念电影:以《惊魂记》为例
- Firewalld防火墙转换成Iptables
- cnn输入层_基于 CNN 的文本分类算法
- 美国人因工程学的历史
- ipython安装成功后用不了_ipython安装避坑指南
- 12123 上传照片到文件服务器失败,“交管12123”APP上传证件照片老是出错?教你正确上传姿势……...
- 各种语言常用壳的特征
- poi-tl实现word文档按模板下载
- Linux c — void类型变量和指针
- 计算机流行音乐与创作软件,哪种计算机歌曲软件更好?歌曲软件推荐
- java word文档生成目录_Java使用POI添加Word文档的目录(Table of contents)