来了解 Github 当前最火开源项目 RecyclerView 的缓存机制

前言

在这里插入图片描述

最近在网上看到许多关于 RecyclerView 缓存相关的技术文章,也是在其中看到了许多的知识点,我将之收集了起来进行汇总和整理,利用自己的见解来分析 RecyclerView 的缓存机制的相关问题

优势

在这里插入图片描述

首先 RecyclerView 是由 Google 推出来对 GridView 和 ListView 进行取代的列表方案,RecyclerView 本身它是不关心视图相关的问题的,由于 ListView的紧耦合的问题, google 的改进就是 RecyclerView 自身不用参与任何视图有关的问题,它不用在意应该将子 View 放在合适的位置,也不在意如何进行分割这些子 View,更不在意每个子View所显示的外观,本质上来说就是 RecyclerView 它只负责回收和重用的工作

● 能够替代 Listview 和 GridView ,不仅可以加载列表同时也能够加载表格

● 能够支持瀑布流这种高级的显示方式

● 内置了强劲的垃圾回收机制

● 规范了其 Viewholder 的使用

难点

在 RecyclerView 中,是没有 onItemClickListener 方法的,所以只能在适配器中处理事件,如果要从适配器上添加或移除条目,就必须要明确通知适配器。这跟先前的 notifyDataSetChanged 方法有略微不同

整体总结了几点如下:

● Adapter:包装数据集合且为每个条目创建视图

● ViewHolder:对每个用于显示数据条目的子View进行保存

● LayoutManager:在适当的位置放置于每个条目的视图

● ItemDecoration:绘制一些装饰视图在每个条目的视图的周围或上面

● ItemAnimator:在条目被添加、移除或者重排序时对其添加动画效果

缓存分级

RecyclerView 的缓存可以分为四级,也有的人将之分成三级,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值