在使用ListView,GridView控件时,由于其内部的重用机制,导致item中的内容会被清空,但是如果是网络中下载的内容特别是图片则会比较麻烦,因为经常需要从后台重新加载。为了提高用户体验,需要对图片等数据进行缓存,避免耗时的网络操作。一、LruCache:android官方提供的用于在内存中进行缓存的一个类。 1 public LruCache(int maxSize) { 2
首先在Android的三级缓存中,其中主要的就是内存缓存和硬盘缓存。这两种缓存机制的实现都应用到了LruCache算法,今天我们就从使用到源码解析,来彻底理解Android中的缓存机制。        Android缓存策略主要包含缓存的添加、获取和删除这三类操作。如何添加和获取缓存这个比较好理解,那么为什么还要删除缓存呢?这是因为不管是内存缓存还是硬盘缓
Glide4.11源码分析(一)生命周期的绑定Glide4.11源码分析(二)三级缓存之内存缓存Glide4.11源码分析(三)子线程执行的那些事儿及本地缓存上文讲了Glide.with(activity)方法的流程,获取到了RequestManager对象,梳理出来了RequestManager和Fragment生命周期绑定的过程。这篇文章我们看看看RequestManager的load过程。R
# Android ExoPlayer 缓存到本地的实现指南 在移动开发中,视频播放是一个常见的需求,而 ExoPlayer 是 Android 上一个强大且灵活的播放器。实现 ExoPlayer 的在线视频缓存功能,可以有效提高用户体验,特别是在网络环境不稳定的情况下。本文将为你详细讲解如何使用 ExoPlayer 实现视频缓存到本地的步骤。 ## 整体流程 在开始之前,我们先来了解一下整
原创 7月前
211阅读
缓存到JVM和缓存到Redis的实现流程 在实际开发中,为了提高系统的性能和响应速度,我们经常会使用缓存技术来减轻数据库等资源的压力。在缓存技术中,JVM(Java Virtual Machine)和Redis都是常用的缓存方案。JVM缓存是将数据存储在应用的内存中,而Redis是一个开源的内存数据库,可以作为独立的缓存服务器。 下面将详细介绍如何实现缓存到JVM和缓存到Redis的流程以及每
原创 2024-01-02 09:37:39
64阅读
这个是在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阅读
# Android 文件缓存到本地的实现指南 在现代 Android 应用开发中,文件缓存是一项常见且重要的需求。应用可能需要将数据缓存到本地,以提高性能和用户体验。本篇文章将详细介绍如何在 Android 中实现文件缓存到本地的过程,包括具体的步骤和代码示例。 ## 流程概述 在实现文件缓存的过程中,可以按照下面的步骤进行: | 步骤 | 描述 | |------|------| | 1
原创 2024-10-18 04:43:13
363阅读
memoryCache就是Glide使用的内存缓存,LruResourceCache类继承了LruCache,这部分可以自行查看一下源码。通过上面可以看到,GLide#build()方法中实例化memoryCache作为Glide的内存缓存,并将其传给Engine作为构造器的入参。Engine.class 截取部分源码{ //生成缓存key EngineKey key = keyFactory
转载 2月前
362阅读
# Android文件缓存到本地 在Android应用开发中,缓存文件到本地是提高应用性能和用户体验的重要技术之一。通过本地缓存,应用可以更快地加载数据,减少网络请求的次数,从而节省用户的流量和时间。本文将介绍如何在Android缓存文件到本地,并且提供相应的代码示例。 ## 文件缓存的必要性 当用户使用应用程序时,频繁的网络请求可能会导致响应速度变慢,从而影响用户体验。通过将数据文件缓存
原创 2024-10-18 05:58:47
52阅读
# Android 将 Drawable 资源存到缓存Android 开发中,Drawable 资源是构成应用界面的重要元素。然而,频繁加载Drawable资源可能导致性能下降。因此,把Drawable资源存储到缓存中是一种很有效的优化手段。本文将详细介绍如何在 Android 中将 Drawable 资源存入缓存,并通过代码示例和一些图表帮助大家更好地理解这一过程。 ## 缓存 Dra
原创 8月前
59阅读
# 在 Android 中实现音乐缓存并保存到本地 在移动应用开发中,把音乐文件缓存到本地是一个常见的需求。本文将指导你如何在 Android 应用中实现这一功能,包括具体步骤和代码示例。 ## 实现流程概述 以下是将音乐缓存至本地的基本流程: | 步骤 | 描述 |
原创 9月前
586阅读
今天用 leakcanary 时发现用VideoView的 activity 出现泄漏,捕获到如下的信息,简单说就是 android M(6.0)以前AudioManager用的Context是 当前传入的,当activity finish之后 AudioManager依然保持对它的引用,所以就leak了,6.0后改用ApplicationContext修复了此问题,google后发现下
转载 10月前
37阅读
目录一、Redis缓存穿透1.1、缓存穿透原理1.2、缓存穿透代码演示1.3、缓存穿透解决方案解决方案一(数据库中查询不到数据也将key进行缓存)解决方案二(使用布隆过滤器)二、Redis缓存击穿(缓存失效)三、Redis缓存雪崩3.1、缓存雪崩原理3.2、缓存雪崩解决方法 一、Redis缓存穿透1.1、缓存穿透原理    缓存穿透是指查询一个根本不存在的
# 如何实现sqlite缓存redis 作为一名经验丰富的开发者,我将教你如何实现"sqlite缓存redis",帮助你更好地理解整个过程。 ## 流程图 ```mermaid gantt title 实现sqlite缓存redis流程图 section 完成步骤 使用Sqlite数据库 :a1, 2022-01-01, 1d 使用Redis缓存
原创 2024-07-12 05:57:38
41阅读
在我们买Android手机的时候必看的两个参数,那就是RAM和ROM的大小,这两个参数对我们来说当然是越大越好。RAM就是我们今天的主角Android内存。 我们使用Windows时有一个习惯:为了保证我们想要运行的程序有足够的内存空间,我们经常会手动把不必要的程序关掉,或者用一个内存清理的软件,时不时地清理一下内存。基于这样一个习惯,在Android所有的安全软件和助手软件中,几乎都会必带的一个
转载 2021-05-05 12:22:51
308阅读
2评论
# Android 二级缓存的实现 在Android开发中,缓存是提升应用性能和用户体验的关键。二级缓存意味着我们将数据存放在两个不同的位置以增强性能和提高数据的访问速度。常见的做法是将数据存放在内存中(一级缓存)和本地存储中(如SQLite、文件等,作为二级缓存)。本文将带你逐步实现Android二级缓存的功能。 ## 流程概述 首先,让我们来看一下实现二级缓存的流程。下面是一个简易的步骤
原创 10月前
31阅读
用到此知识点,记录:一、json数据缓存存储可以分为以下1、文件缓存、2、数据库缓存、3、网络缓存(存储到服务器)、4、共享参数(SharedPreferences)、5、对象缓存(java bean)五种进行缓存每种缓存的数据的生命周期,安全系数都是不同,缓存和文件存储的概念比较相似。有另外一种缓存称之为请求缓存,可以减少请求服务器的次数,在没有网络的情况下可...
原创 2021-07-07 14:12:50
1033阅读
一、在android中数据本地存储分为SQLite数据存储,Sharedprferences数据的储存,File存储
原创 2022-03-31 09:44:01
208阅读
用到此知识点,记录:一、json数据缓存存储可以分为以下1、文件缓存、2、数据库缓存、3、网络缓存(存储到)、4、共享参数(SharedPreferences)、5、对象缓存(java bean)五种进行缓存每种缓存的数据的生命周期,安全系数都是不同,缓存和文件存储的概念比较相似。有另外一种缓存称之为请求缓存,可以减少请求的次数,在没有网络的情况下可...
原创 2022-02-11 14:55:00
1509阅读
  • 1
  • 2
  • 3
  • 4
  • 5