Android使用RecyclerView和Picasso实现大规模浏览网络图片(附带缓存技术)

在使用RecyclerView之前,我们首先回顾一下listview , girdView 我们都知道listview 是用来在有限的屏幕里显示无限的数据 网格视图也差不多,具体的使用方法相信大家已经很熟悉了。那么RecyclerView 又有什么新的功能呢 ,其实RecyclerView功能和上面介绍的差不多 不过RecyclerView可以实现线性列表 还可以实现网格列表 ,而且RecyclerView提供高度的灵活性,可以自己设置布局管理器,动画等
下面开始介绍RecyclerView如何使用

准备工作

由于RecyclerView是在android V7包里面提供的 如果你在项目中没有导入V7包,或者你已经导入 但是IDE还是不能识别,哪么请你在Android studio添加依赖(eclipse就不介绍处理办法了)

    compile 'com.android.support:recyclerview-v7:21.0.+'

有了这个依赖,编译器就能识别RecyclerView
文章的标题说本列使用了Picasso来实现图片的缓存,Picasso我这里就不具体介绍,主要功能如下:
1 图片异步加载(创建新线程)
2 在adapter中需要取消已经不在视野范围的View资源的加载,否则会导致数据显示错位,Picasso已经解决了这个问题。
3 使用复杂的图片压缩转换来尽可能的减少内存消耗
4 自带内存缓存功能,磁盘二级缓存
Picasso 是三方库 同样需要添加jar或者依赖

compile 'com.squareup.picasso:picasso:2.5.2'

开始

关于Picasso的使用请参考这篇文章
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0731/1639.html
关于RecyclerView的使用步骤请参考下面文章
http://blog.csdn.net/lmj623565791/article/details/45059587
文章写的比较详细,还提供了一些好的实现类,动画效果

缓存技术

目前的缓存技术主要有:内存缓存,磁盘缓存
内存缓存:又叫一级缓存,主要是用LruCache,主要是get和set方法,存储的结构采用了LinkedHashMap,这种map内部实现了lru算法(Least Recently Used 近期最少使用算法)。
磁盘缓存:又叫二级缓存,缓存算法和内存缓存有相似之处,将最近访问的数据存放在磁盘,然后从磁盘进行加载
三级缓存:同时使用一级缓存和二级缓存
内存缓存:参考文章 http://blog.csdn.net/guolin_blog/article/details/9316683 使用内存缓存加载大量图片
磁盘缓存:参考文章 http://blog.csdn.net/guolin_blog/article/details/28863651?utm_source=tuicool&utm_medium=referral
三级缓存; Picasso就是一个实现了三级缓存的开源框架,加载大量图片特别好用,如果想自定义三级缓存参考文章 http://blog.csdn.net/guolin_blog/article/details/34093441

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值