Glide为什么先查找活动缓存?
时间: 2023-07-19 09:52:21 浏览: 60
Glide在加载图片时先查找活动缓存(即内存缓存)是因为内存缓存具有更快的读取速度和更高的读取成功率,可以大大提高图片加载的效率和用户体验。此外,内存缓存是针对当前应用程序的,因此也更加安全可靠,可以避免不同应用程序之间的图片资源冲突。同时,Glide还会结合磁盘缓存和网络请求,以最快的速度加载图片并保证图片的质量。
相关问题
Glide为什么使用弱引用缓存
Glide使用弱引用缓存是为了避免内存泄漏的问题。在Android应用程序中,内存泄漏是非常常见的问题之一。如果使用强引用来缓存图片,那么当一个对象被缓存时,它将一直存在于内存中,直到应用程序退出或者手动删除它。这会导致内存占用过高,从而影响应用程序的性能和稳定性。
使用弱引用缓存可以解决这个问题。弱引用是一种指向对象的引用,但是不会阻止该对象被垃圾回收器回收。这意味着当一个对象没有被其他对象引用时,它会被垃圾回收器回收。这样,Glide缓存中的对象可以在内存不足时被回收,从而释放内存,提高应用程序的性能和稳定性。
另外,Glide还使用了Lru算法来限制缓存大小,当缓存达到一定大小时,Glide会自动删除最近最少使用的对象,从而保持缓存的大小在一个可控范围内。
Glide是不是先存入活动缓存,条件成熟再存入内存缓存
不完全正确。Glide在加载图片时,会根据其自身的缓存策略来进行缓存。Glide的缓存策略是:先查找活动缓存,如果活动缓存中存在该图片,则直接从活动缓存中读取;如果活动缓存中不存在该图片,则查找磁盘缓存,如果磁盘缓存中存在该图片,则将其存入活动缓存中,并返回该图片;如果磁盘缓存中也不存在该图片,则通过网络请求获取图片,并将其存入磁盘缓存和活动缓存中,并返回该图片。所以,可以说Glide是先在活动缓存中查找,如果存在,则直接使用;如果不存在,则会按照缓存策略从磁盘缓存或网络请求中获取图片,并存入活动缓存中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)