前言glide的缓存机制。Glide的缓存设计是非常的先进的,考虑的场景也很周全。Glide 的缓存分为两种,一是内存缓存,另一个是硬盘缓存。这两种缓存的作用各不相同,内存缓存的主要作用是防止应用重复将图片数据读取到内存当中,而硬盘缓存的主要作用是防止应用重复从网络或其他地方重复下载和读取数据。内存缓存在默认情况下,Glide自动开启内存缓存的,我们也可以通过调用skipMemoryCache(t            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 10:13:31
                            
                                152阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目前图片框架,基本就是 Glide 一统江山了,除了极其简单的链式调用,里面丰富的 API 也让人爱不释手。 那么,这样一个好用的框架,里面的缓存机制是怎么样的呢? 我们知道,一般图片框架,加载图片,都是通过内存缓存 LruCache ,DiskLruCache 硬盘缓存中去拿,那 Glide 又是怎么样的呢?这里,我们一起来探讨一下;这里的 Glide 版本为 4.9.0Glide 的缓存可以分            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-14 14:13:31
                            
                                414阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Glide三级缓存理解详细一、普通的三级缓存二、Glide三级缓存分类:活动缓存、内存缓存、磁盘缓存三、三级缓存范围:四、三级缓存的作用:五、活动缓存的说明:六、内存缓存的说明:七、磁盘缓存的说明:八、Glide三级缓存的使用九、Glide的缓存使用九、总结共勉:向前行进。 本文对Glide的三级缓存进行主要的文字描述,希望能帮助大家加深对Glide的缓存理解。Glide官网:https://g            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-11 19:27:56
                            
                                131阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            上篇文章讲了图片网络的请求步骤,这一章说说缓存机制。Glide的缓存分为三大步:内存缓存、磁盘缓存以及服务器存储(或 drawable、Asset等),服务器也就是上一篇说的网络请求,这里就不说了;内存缓存是 软引用+LruCache缓存,磁盘缓存分为 原始图片缓存+转换后的图片缓存;内存缓存是通过 skipMemoryCache() 来控制是否开启,默认是开启状态,磁盘缓存则是通过 diskCa            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-17 19:54:56
                            
                                141阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本篇基于Glide4.6.1  前面的两篇文章走了一遍glide的请求网络图片并加载的流程,分析一个图片加载框架,其缓存机制是必须要知道的,一个完善的图片加载框架一般都包含内存缓存和硬盘缓存两种缓存策略。他们的作用各不相同,内存缓存主要是防止应用重复的把数据读到内存中,而硬盘缓存主要是防止应用重复的去网络上下载图片。这样才能让框架加载图片的速度更快,也能更省流量。下面就来看一下glide的缓存机制            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-26 15:50:28
                            
                                556阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            介绍在上一篇中,我们知道了 Glide 框架的最基本的执行流程,那么只知道基本执行流程,这显然是不够的,我们要深挖 Glide 框架的细节处理原理,比如缓存机制,图片处理等,这一篇我们就一起去探索 Glide 的缓存机制。Glide 缓存机制可以说是设计的非常完美,考虑的非常周全,下面就以一张表格来说明下 Glide 缓存。缓存类型缓存代表说明活动缓存ActiveResources如果当前对应的图            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-03 15:05:38
                            
                                458阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Glide在缓存功能上也是分成了两个模块,一个内存缓存,一个硬盘缓存。内存缓存的主要作用是防止应用重复将图片数据读取到内存当中,硬盘缓存的主要作用是防止应用重复从网络或其他地方重复下载和读取数据。缓存的图片资源分为两类:原始图片和转换后的图片(经过尺寸缩放和大小压缩等处理后的图片) 内存缓存只缓存转换过后的图片,而硬盘缓存可缓存原始图片和转换过后的图片,用户自行设置缓存key决定缓存key的参数有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-01 09:58:22
                            
                                201阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            引入依赖库:implementation 'androidx.recyclerview:recyclerview:1.1.0'一、RecyclerView的介绍从名字可以看出Recycler是可回收复用的意思,recyclerView就是可回收缓存并复用的View,回收缓存的是itemView,复用的是itemView(itemView就是你为每种type写的R.layout.xxx布局,Layo            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 15:51:59
                            
                                179阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            我们知道Glide链式调用最重要的就是into(),而 into()最终会调用  load()。1.load源码分析1            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-15 11:51:44
                            
                                108阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目前缓存机制使用大致流程是,当App需要加载某一张图片时,先去手机内存中去找该图片,如果有,那么直接显示,如果无,则去手机sd卡或者手机外部存储中找该图片,如果有,那么直接显示,如果无,那么此时才去网络下载该图片。这种机制常称为三级缓存策略。⑴强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-05 21:22:06
                            
                                257阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在开始回答前,先简单概括性地说说Linux现有的所有进程间IPC方式:1. **管道:**在创建时分配一个page大小的内存,缓存区大小比较有限; 2. 消息队列:信息复制两次,额外的CPU消耗;不合适频繁或信息量大的通信; 3. 共享内存:无须复制,共享缓冲区直接付附加到进程虚拟地址空间,速度快;但进程间的同步问题操作系统无法实现,必须各进程利用同步工具解决; 4. 套接字:作为更通用的接口,传            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-12 23:31:39
                            
                                48阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本文大致会先讲解RecyclerView的基础知识及使用,最后会深入讲解一点原理。当然,本人知识水平有限哈,太深入的东西我现在还没接触到,还请大家包容,阿里嘎多~一、RecyclerView的历史与发展既然讲到了RV,那不得不先知道它怎么来的。   RecyclerView是Android 5.0提出的新的UI控件,与其一起诞生的还有著名的Material Design以及CardVie            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-12 08:40:22
                            
                                140阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Glide的缓存机制,专题解析            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-02 12:41:28
                            
                                93阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            关于上一篇大概走了一下Glide加载的基本流程,篇幅超长,没有耐心的人很难看完,所以我觉得这一片篇改变记录方案,走流程的事情就给有兴趣的人们吧!简单了解缓存KEY说到Glide的缓存那就要说缓存key,它的key是由十个参数来决定的,但是也就是为了是加载的图片唯一性罢了,看看源码吧:EngineKey key = keyFactory.buildKey(id, signature, width,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 07:54:10
                            
                                369阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            虽说Glide将缓存功能高度封装之后,使得用法变得非常简单,但同时也带来了一些问题。比如之前有一位群里的朋友就跟我说过,他们项目的图片资源都是存放在七牛云上面的,而七牛云为了对图片资源进行保护,会在图片url地址的基础之上再加上一个token参数。也就是说,一张图片的url地址可能会是如下格式:String url = "https://unsplash.it/200/200?random&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-17 22:10:23
                            
                                128阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言在前面一篇文章中,主要分析了Glide的工作流程,以加载网络图片为例分析了Glide是如何工作的。在熟悉了Glide的工作流程后,我们就可以及继续一些细节的分析。接下来,针对Glide的缓存策略进行分析。我们知道,一个高效的图片框架是少不了缓存的,使用缓存可以减少资源的重复加载,提高资源的利用率。在Glide中,缓存分为两大类:内存缓存以及硬盘缓存。具体到缓存类型可以分为4种,一下是官网给出的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-02 23:22:32
                            
                                219阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            二级缓存(并不是三级缓存,因为从网络加载并不属于缓存),即内存缓存和磁盘缓存。 
  
  磁盘缓存 
  一般的图片缓存指的就是磁盘缓存,把网络上的图片缓存到本地,这样就不需要每次都从网络加载,既提高了加载速度,又为用户节省了流量。 
 
  Glide在默认情况下是开启磁盘缓存的,而且提供了丰富的API来让开发者自己配置和管理磁盘缓存。 
  
  
  缓存位置和大小 
 
  开发者可以通            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-22 20:26:37
                            
                                333阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. Glide缓存 分为两种,内存缓存 
  skipMemoryCache(true)磁盘缓存 
  DiskCacheStrategy.NONE 什么都不缓存,DiskCacheStrategy.SOURCE 仅仅只缓存原来的全分辨率的图像DiskCacheStrategy.RESULT 仅仅缓存最终的图像,即,降低分辨率后的(或者是转换后的)DiskCacheStrategy.ALL 缓存            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-09 07:50:54
                            
                                105阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录一、概述1.1 背景1.2 系列文章二、准备知识2.1 Glide 的缓存分层结构2.2 Glide 缓存相关类的关联关系三、缓存的获取流程3.1 缓存获取的入口3.2 内存缓存的查询3.2 磁盘缓存的查询Condition1:ResultCache 缓存Condition2:SourceCache 缓存Condition3:Source 缓存3.3 缓存查询流程图四、总结五、碎碎念 一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-06 11:27:40
                            
                                238阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            简单描述: Glide缓存读取的顺序是:Lru算法缓存、弱引用缓存、磁盘缓存 Glide缓存写入的顺序是:弱引用缓存、Lru算法缓存、磁盘缓存(不准确)下面叙述一下三级缓存的流程: 当我们的APP中想要加载某张图片时,先去LruCache中寻找图片,如果LruCache中有,则直接取出来使用,如果LruCache中没有,则去WeakReference中寻找,如果WeakReference中有,则从            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-25 09:00:45
                            
                                116阅读