Android的图片缓存主要的作用及其常见问题。

(ca88亚洲城网页版)

1.什么是图片缓存?
2.哪些场景下需要使用图片缓存?
3.为什么要使用图片缓存?
4.有哪些方案可以选择?

注:因为业务需求不高,所以没有着力研究,不过这是个耿,带解决。有人研究过吗,求推荐好的博文。

可能有出入或者遗漏的地方,欢迎指正:

  1. 目前应用中的图片基本上是从网络上获取的,应用需要先下载图片,然后才能展示给用户,那么下载的图片就是图片缓存。

  2. 应用内展示的图片过多,比如壁纸类APP, instagram等等。如果没有做缓存,每次打开APP都要从网络下载,N多个小菊花在哪儿转,如果你是用户,第一次感觉还能理解,每次都这样,估计人家卸载十遍的心都有了。做了缓存就不一样了,APP打开后获取本地缓存文件然后展示,整个过程很快,不会让用户产生不适,体验上去了,那么你的APP不就有更多的人愿意去用了么。

  3. 见2。

  4. 目前常用的第三方图片加载库有:Android-Universal-Image-Loader 、Glide 、Picasso。

Github中都有详细的使用说明,按照里面步骤操作就可以了。

一般是四级缓存架构
网络端文件,本地文件,本地cache,内存cache
缓存是为了加快图片的解码显示速度,但是cache增多了也会多占用空间,做好平衡取舍
Android-Universal-Image-Loader 比较稳定,用的人也比较多

图片做缓存主要解决的问题就是OOM,其中避免OOM的方法除了对图片做缓存,还需求对加载返回的图片做合适的压缩,一般二级缓存就可以(内存+本地),这也是比较常用的做法,当然也有三级缓存(Decode、Encode、本地),这种效率非常高

发表评论

电子邮件地址不会被公开。 必填项已用*标注