掌握 recyclerview 布局(2)

掌握 recyclerview 布局(2)_第1张图片

FixedGridLayoutManager的示例中摘出来的,一个二维的Grid Layout,并且支持水平和垂直方向的滑动。

掌握 recyclerview 布局(2)_第2张图片

RecyclerView 是因为解决了许多存在于 Listview 上的问题,从而收到大家的欢迎和认可的视图组件。我们都使用过 RecyclerView ,也感受到他给我们开发带来便捷,给用户带来好的体验。在这里我们来关注一下 RecyclerView 底层的实现,了解底层我们就可以更好使用 recyclerview。

掌握 recyclerview 布局(2)_第3张图片

recyclerView 也是基于 adapter 的视图集合,那么我们先简单地了解一下 adapter,从字面上理解是适配器的意思。这里有个一个适配模式,想必大家多少有所了解。在 Android 中的 Adapter 是数据与视图的桥梁。是让我们的数据与视图建立一定关系。

掌握 recyclerview 布局(2)_第4张图片

其实并不正确,因为这里有一个隐含的 Recycler ,LayoutManager 被赋予一个可访问的 Recycler 实例在需要的地方,当 view 移出屏幕时就会被 Recycler 回收,同样 LayoutManager 也会从 Recycler 获取视图来添加到屏幕上。

掌握 recyclerview 布局(2)_第5张图片
掌握 recyclerview 布局(2)_第6张图片

Recyler 阻断了 LayoutManger 与 Adapter 的联系,如果 LayoutMaganer 尝试自己联系视图,就发生错误。当 LayoutManager 请求一个新的视图,只需要简单,

其实我们手动滑动一下,几十条

掌握 recyclerview 布局(2)_第7张图片


掌握 recyclerview 布局(2)_第8张图片

看一看 recycler 内部结构,是如何回收以及再利用的。Recycler 有两级缓存系统,分别是废料堆和回收池,废料堆是一个轻量级的可回收的集合,这里的 View 可以被直接返回到 LayoutManager 而不需要经过Adapter。

掌握 recyclerview 布局(2)_第9张图片


掌握 recyclerview 布局(2)_第10张图片
掌握 recyclerview 布局(2)_第11张图片
掌握 recyclerview 布局(2)_第12张图片


掌握 recyclerview 布局(2)_第13张图片

你可能感兴趣的:(掌握 recyclerview 布局(2))