持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情
前言
Recyclerview 机制怎么样?
在编写 Android 应用程序时,我们经常使用Recyclerview。然后我们需要找出这个Recyclerview内部是由什么机制构成的(以Android系统而言)。让我们仔细看看这个Recyclerview是什么以及它是如何被回收的。
什么是RecyclerView?
Recyclerview
的ViewGroup
是在ViewHolder
的帮助下,我们将数据呈现为列表并绘制在屏幕上可见的数据。它可以实现与ListView和GridView一样的效果,提供了一种插拔式的体验,高度的解耦,异常的灵活,只需设置其提供的不同的LayoutManager,ItemAnimator和ItemDecoration,就能实现不同的效果。
优点
- 支持列表的局部刷新。
- 允许自定义item增删时的动画。
- 能够实现item复杂功能,如拖拽和侧滑删除等。
- 完善可靠的回收机制,默认情况下是复用View的。
RecyclerView的构成
有三个具有代表性的组件。
- Adapter
- ViewHolder
- LayoutManager
Adapter
适配器是RecyclerView.Adapter
的子类型。这允许您设置数据以在Recyclerview中显示给用户。换句话说,就是结合主类来展示视图。
大多数事情发生在这个Recyclerview的适配器类中。
ViewHolder
Viewholder 是一个帮助类,它帮助我们将想要显示在屏幕上的 UI 组件放置在屏幕上。
在这个类中(即 RecyclerView.ViewHolder 类的子类),每个项目的所有视图都是链接的。
LayoutManager
在 RecyclerView 中,布局管理器帮助开发人员弄清楚 UI 和要在屏幕上显示的每个项目是什么。这允许您进行线性或网格喷涂。RecyclerView 基本上是通过 layoutmanager 的实现来提供的。它就像一个管理组织,在创建新视图时向Recyclerview的适配器发送信号。