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

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

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

阅读 6k
3 个回答

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

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

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

  3. 见2。

  4. 目前常用的第三方图片加载库有:Android-Universal-Image-LoaderGlidePicasso

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题