Android中三级缓存的原理

什么是三级缓存

网络缓存,不优先加载,速度慢,浪费流量

本地缓存,次优先加载,速度快

内存缓存,优先加载,速度最快

为什么要使用缓存

  1. 访问内存速度最快
  2. 不浪费流量
  3. 增强用户体验

三级缓存原理

首次加载App时,要通过网络交互来获取图片,之后我们可以将图片保存在本地SD卡和内存中,之后运行App时,优先访问内存中的图片缓存,如果内存中没有,则加载本地SD卡中的图片,总之,只有在初次访问新内容的时候,才通过网络获取图片资源。

LruCache内存缓存算法

最近最少引用算法,比如往里边放数据1、2、3、4、5,第一次看是12345,如果指定看2,那么就变成了21345,就是刚看的往前边放,没看的放后边,因为LruCache缓存有大小的限制,再往里边放个6,内存满的话,后边的5就会被回收掉,那么就变成了62134,这样的话就会非常实用。

DeskLruCache本地缓存

DeskLruCache没有限制数据在SD卡上的缓存位置,可以自由的进行设定,但是通常情况下多数应用程序都会将缓存的位置选择为/sdcard/Android/data/包名/cache 这个路径。选择在这个位置有两点好处:第一,这是存储在SD卡上的,因此即使缓存再多的数据也不会对手机的内置存储空间有任何影响,只要SD卡上空间足够就行。第二,这个路径被Android系统认定为应用程序的缓存路径,当程序被卸载的时候,这里的数据也会一起被清除掉,这样就不会出现删除程序之后手机上还有很多残留数据的问题。

 

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值