Glide4.11源码分析(一)生命周期的绑定Glide4.11源码分析(二)三级缓存之内存缓存Glide4.11源码分析(三)子线程执行的那些事儿及本地缓存上文讲了Glide.with(activity)方法的流程,获取到了RequestManager对象,梳理出来了RequestManager和Fragment生命周期绑定的过程。这篇文章我们看看看RequestManager的load过程。R
文章目录一、概述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阅读
## 使用 GlideAndroid 中下载和缓存图片 在 Android 开发中,图像加载是一个常见的需求。Glide 是一个流行的图像加载库,它不仅可以从网络加载图像,还能高效地将图像缓存到本地,这样可以改善用户体验,减少网络请求。 ### 什么是 GlideGlide 是一个强大的图像加载库,适用于 Android 平台,提供简单且高效的图片加载和缓存功能。它通过自动处理内存
原创 11月前
357阅读
一、 上篇文章我们了解到 Glide的基本使用很简单,且可配置度高Glide.with(this).load(url).into(imageView);和其他三级缓存一样,Glide缓存读取顺序是 内存–>磁盘–>网络需要注意的是Glide的内存缓存和磁盘缓存的配置相互没有直接影响,所以可以同时进行配置首先你要知道,默认情况下,Glide自动就是开启内存缓存和磁盘缓存的。也就是说
Glide 类中与内存缓存有关的变量Glide#memoryCache,如果用户没有通过 GlideBuilder#setMemoryCache(MemoryCache) 设置,则默认为 LruResourceCache(继承自 LruCache)。1. 从内存缓存读取图片资源在 Engine#load() 方法中,就先根据需要加载的资源的相关参数,来生成唯一的 key 值,而该值与从缓存机制有关
memoryCache就是Glide使用的内存缓存,LruResourceCache类继承了LruCache,这部分可以自行查看一下源码。通过上面可以看到,GLide#build()方法中实例化memoryCache作为Glide的内存缓存,并将其传给Engine作为构造器的入参。Engine.class 截取部分源码{ //生成缓存key EngineKey key = keyFactory
转载 3月前
362阅读
首先在Android的三级缓存中,其中主要的就是内存缓存和硬盘缓存。这两种缓存机制的实现都应用到了LruCache算法,今天我们就从使用到源码解析,来彻底理解Android中的缓存机制。        Android缓存策略主要包含缓存的添加、获取和删除这三类操作。如何添加和获取缓存这个比较好理解,那么为什么还要删除缓存呢?这是因为不管是内存缓存还是硬盘缓
# Android Glide 缓存本地路径实现 ## 引言 在 Android 开发中,加载图片是一项常见的任务。Glide 是一款强大的图片加载库,它具有缓存机制,可以加快图片加载速度并减少网络请求。本文将介绍如何使用 Glide 实现图片缓存到本地路径。 ## 整体流程 下面是实现 Android Glide 缓存本地路径的整体流程: ```mermaid journey ti
原创 2023-10-10 13:25:15
530阅读
# Android Glide查看本地缓存 ## 引言 在开发Android应用中,图片加载是一个常见的需求。Glide是一个非常受欢迎的图片加载库,它提供了强大而灵活的功能,可以帮助我们高效地加载和显示图片。在使用Glide加载图片的过程中,Glide会自动对图片进行缓存,以提高图片的加载速度和减少网络数据流量。本文将介绍如何使用Glide查看本地缓存,并提供相应的代码示例。 ## 什么是
原创 2024-01-04 12:46:00
405阅读
RecycleView内存泄漏RecycleView缓存、回收机制RecyclerView是以ViewHolder作为单位进行回收。Recycler是RecyclerView回收机制的实现类,他实现了四级缓存:mAttachedScrap: 缓存在屏幕上的ViewHolder。mCachedViews: 缓存屏幕外的ViewHolder,默认为2个。ListView对于屏幕外的缓存都会调用getV
转载 2024-04-29 09:55:31
67阅读
# Android ExoPlayer 缓存到本地的实现指南 在移动开发中,视频播放是一个常见的需求,而 ExoPlayer 是 Android 上一个强大且灵活的播放器。实现 ExoPlayer 的在线视频缓存功能,可以有效提高用户体验,特别是在网络环境不稳定的情况下。本文将为你详细讲解如何使用 ExoPlayer 实现视频缓存到本地的步骤。 ## 整体流程 在开始之前,我们先来了解一下整
原创 8月前
214阅读
ListView调用Adapter的getView方法获取每一个Item布局,将这些已经获得的Item布局放入缓存,将大大提高获取数据的效率,而且节省更多的流量,将数据进行缓存有两种方法是,一种是将内存缓存一种是sd卡缓存,在此分别进行演示。 sd卡缓存: sd卡缓存是将下载的数据保存到sd卡中,当再次要获取数据时,首先要判断sd卡中是否存在,如果存在的话,就直接读取sd卡中的数据,如果不存在就从
转载 2023-08-27 14:38:43
75阅读
关于上一篇大概走了一下Glide加载的基本流程,篇幅超长,没有耐心的人很难看完,所以我觉得这一片篇改变记录方案,走流程的事情就给有兴趣的人们吧!简单了解缓存KEY说到Glide缓存那就要说缓存key,它的key是由十个参数来决定的,但是也就是为了是加载的图片唯一性罢了,看看源码吧:EngineKey key = keyFactory.buildKey(id, signature, width,
转载 2023-08-31 07:54:10
369阅读
# Android 文件缓存到本地的实现指南 在现代 Android 应用开发中,文件缓存是一项常见且重要的需求。应用可能需要将数据缓存到本地,以提高性能和用户体验。本篇文章将详细介绍如何在 Android 中实现文件缓存到本地的过程,包括具体的步骤和代码示例。 ## 流程概述 在实现文件缓存的过程中,可以按照下面的步骤进行: | 步骤 | 描述 | |------|------| | 1
原创 2024-10-18 04:43:13
363阅读
# Android文件缓存到本地Android应用开发中,缓存文件到本地是提高应用性能和用户体验的重要技术之一。通过本地缓存,应用可以更快地加载数据,减少网络请求的次数,从而节省用户的流量和时间。本文将介绍如何在Android缓存文件到本地,并且提供相应的代码示例。 ## 文件缓存的必要性 当用户使用应用程序时,频繁的网络请求可能会导致响应速度变慢,从而影响用户体验。通过将数据文件缓存
原创 2024-10-18 05:58:47
52阅读
# 在 Android 中实现音乐缓存并保存到本地 在移动应用开发中,把音乐文件缓存到本地是一个常见的需求。本文将指导你如何在 Android 应用中实现这一功能,包括具体步骤和代码示例。 ## 实现流程概述 以下是将音乐缓存本地的基本流程: | 步骤 | 描述 |
原创 10月前
595阅读
今天用 leakcanary 时发现用VideoView的 activity 出现泄漏,捕获到如下的信息,简单说就是 android M(6.0)以前AudioManager用的Context是 当前传入的,当activity finish之后 AudioManager依然保持对它的引用,所以就leak了,6.0后改用ApplicationContext修复了此问题,google后发现下
转载 11月前
37阅读
  在使用ListView,GridView控件时,由于其内部的重用机制,导致item中的内容会被清空,但是如果是网络中下载的内容特别是图片则会比较麻烦,因为经常需要从后台重新加载。为了提高用户体验,需要对图片等数据进行缓存,避免耗时的网络操作。一、LruCache:android官方提供的用于在内存中进行缓存的一个类。 1 public LruCache(int maxSize) { 2
这个是在ssm的基础上再去整合shiro和ehcache的,整合ehcache主要是为了减少后台shiro拦截的次数,因为如果我们不使用缓存的话,后台shiro的认证和授权的拦截器就会反复的进行拦截,导致系统的运行效率不高,因此使用缓存是一种很好的解决的方法,下面我们看看如何整合ehcache。1、加入jar包pom.xml在这之前,我们先加入shiro和ehcache的相关jar包<!--
转载 2023-11-01 21:47:45
661阅读
目前webapp越来越多,体验也越来越好,为了能够更好的使用WebView展示出流畅的的页面,可以从以下几点做优化:WebView缓存资源文件本地存储减少耗时操作客户端UI优化 可能有人会说了,为什么不做成native的呢,这样就不用那么的麻烦了。如果我需要加载的内容都是静态的,当然做成native的是最好的,为什么我们要使用WebView呢,因为它可以加载一些容易改变的内容,同时也方便制作多平
转载 2023-09-16 18:55:54
249阅读
  • 1
  • 2
  • 3
  • 4
  • 5