[Android笔记]Bitmap的加载与Cache

在Android中经常需要用到Bitmap的加载。由于Bitmap存在特殊性加上Android系统对单个应用的内存限制,往往会导致加载Bitmap时出现内存溢出。因此,高效加载Bitmap是Android开发中无法避免的话题。

首先说明,在Bitmap的加载中,我们只需要掌握图片加载缓存策略以及滑动流畅性的处理即可以掌握Bitmap的加载。

缓存策略:

我们首先要弄明白,在手机中加载一张图片,加载速度由快到慢是顺序是内存缓存>存储设备缓存>上网下载。因此,使用Bitmap做缓存可以提高图片加载的速度并且减少流量消耗。目前缓存策略中常用的有LruCache与DiskLruCache算法,分别实现了内存缓存和存储设备缓存。

回到缓存策略上,什么是缓存策略,为什么要缓存策略?好问题,要知道,我们手机的资源是有限的,如果开发者对应用的缓存不加以限制,不仅会导致app本身容易卡顿,还会影响用户体验内存无了。所以说,缓存策略的本质上就是要利用手机有限的资源去做更多的事情。

缓存策略一般包括:缓存添加,获取,删除三类操作。显然,当我们的缓存爆炸了的时候,app还要往手机里添加缓存。这时候就需要删除旧的缓存并添加新的缓存,在这里的新与旧的定义,就是我们缓存策略里的不同算法。在这里详细说下刚刚提到的LruCache与DiskLruCache算法。

要掌握LruCache,就要知道其定义和缓存的添加,获取,删除,及其初始化。

LruCache是一个泛型类,内部采用了一个LinkedHsahMap以强引用的方式存储外界缓存对象。并且提供了get和put方法来实现缓存的获取和添加操作。缓存满了之后LruCache会移除较早使用的缓存对象,然后添加新的缓存对象。这就是Lru的含义(Least Recently Used的缩写,即最近最少使用)。关于LruCache的初始化,也只要提供缓存的总容量大小并且重写sizeOf对象即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值