RecyclerView的基本设计结构

本文从源码角度剖析Android的RecyclerView,重点关注ViewHolder、Adapter、LayoutManager、Recycler和RecycledViewPool等核心组件,揭示它们在数据变更、布局管理、视图复用等方面的交互逻辑,帮助开发者深化对RecyclerView的理解。
摘要由CSDN通过智能技术生成

RecyclerView作为Android开发中最常用的View之一。很多App的feed流都是使用RecyclerView来实现的。加深对于RecyclerView的掌握对于开发效率和开发质量都有很重要的意义。接下来我打算从源码
角度剖析RecyclerView的实现,加深对于RecycledView的了解。RecyclerView的源码实现还是很庞大的。本文就先来看一下RecyclerView的整体设计,了解其核心实现类的作用以及大致实现原理。

下面这张图是我截取的RecyclerView的Structure:
在这里插入图片描述

类的组成.png
本文着重看: ViewHolder、Adapter、AdapterDataObservable、RecyclerViewDataObserver、LayoutManager、、Recycler、RecyclerPool。 从而理解RecycledView的大致实现原理。

先用一张图大致描述他们之间的关系,这张图是adapter.notifyXX()时RecyclerView的执行逻辑涉及到的一些类:

RecyclerView组成类之间的关系.png
ViewHolder
对于Adapter来说,一个ViewHolder就对应一个data。它也是Recycler缓存池的基本单元。

class ViewHolder {
public final View itemView;
int mPosition = NO_POSITION;
int mItemViewType = INVALID_TYPE;
int mFlags;

}
上面我列出了ViewHolder最重要的4个属性:

itemView

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值