RecycleView
文章平均质量分 95
忙忙碌碌一头羊
这个作者很懒,什么都没留下…
展开
-
【进阶】RecyclerView源码解析(三)——深度解析缓存机制
引言上一篇博客从源码角度分析了RecyclerView读取缓存的步骤,让我们对于RecyclerView的缓存有了一个初步的理解,但对于RecyclerView的缓存的原理还是不能理解。本篇博客将从实际项目角度来理解RecyclerView的缓存原理。前言项目的截图如下:其中可以看到,这里是一个我们经常使用RecycleView实现列表。右侧输出面板展示了ScrapView的最大数量,CacheView的数量和内容,Pool中存在的内容。左侧面板展示了onBindViewHolder和onCrea转载 2021-02-23 20:17:20 · 198 阅读 · 0 评论 -
【进阶】RecyclerView源码解析(二)——缓存机制
引言接着上一篇博客分析完RecyclerView的绘制流程,其实对RecyclerView已经有了一个大体的了解,尤其是RecyclerView和LayoutManager和ItemDecoration的关系。 本篇文章将对RecyclerView的缓存机制的讲解,但由于缓存对于RecyclerView非常重要,所以准备分几部分进行分析,本篇博客主要从源码角度进行分析缓存的流程。前言无论是原来使用的ListView还是RecyclerView,列表类型的视图一直是原生使用的一个重头戏。无论是从使用功能转载 2021-02-23 19:57:23 · 200 阅读 · 0 评论 -
【进阶】RecyclerView源码解析(一)——绘制流程
引言自从Google出了RecyclerView后,基本上列表的场景已经完全替代了原来的ListView和GridView,现在不仅仅是列表,多样式(俗称盖楼),复杂页面等,只要我们愿意,RecyclerView几乎可以代替实现80%的布局,GitHub可以发现各种各样给予RecyclerView的开源库,无论是Adapter还是LayoutManager等。阿里对应出的vlayout其实也是RecyclerView的深度拓展,所以最近感觉仅仅了解用法是不够的,使用RecyclerView越多,就越会发现转载 2021-02-22 23:02:37 · 226 阅读 · 0 评论 -
DiffUtil源码分析
文章目录源码结构源码分析calculateDiff分析ArrayObjectAdapter调用calculateDiff调用diffPartial分析Middle Snake分析奇偶增量实例分析calculateDiff小结DiffResult分析findMatchingItems分析findAddition分析DiffResult小结dispatchUpdatesTo分析dispatchRemovals分析removePostponedUpdate分析DiffUtil总结源码结构最重要的概念:S原创 2021-02-01 16:14:59 · 769 阅读 · 2 评论 -
RecyclerView源码剖析
简介本文将从RecyclerView实现原理并结合源码详细分析这个强大的控件。阅读本文要求:熟悉android控件绘制了解动画了解ScrollerYou`re a fucking kind person。基本使用RecyclerView的基本使用并不复杂,只需要提供一个RecyclerView.Apdater的实现用于处理数据集与ItemView的绑定关系,和一个RecyclerView.LayoutManager的实现用于 测量并布局 ItemView。绘制流程众所周知,andro原创 2021-02-19 23:28:19 · 467 阅读 · 0 评论 -
Android ListView 与 RecyclerView 对比浅析--缓存机制
一、背景RecyclerView是谷歌官方出的一个用于大量数据展示的新控件,可以用来代替传统的ListView,更加强大和灵活。弄清楚RecyclerView是否有足够的吸引力替换掉ListView,我从性能这一角度出发,研究RecyclerView和ListView二者的缓存机制,并得到了一些较有益的”结论”,待我慢慢道来。ListView与RecyclerView缓存机制原理大致相似,如下图所示:过程中,离屏的ItemView即被回收至缓存,入屏的ItemView则会优先从缓存中获取,只是Li转载 2021-02-19 22:01:07 · 183 阅读 · 0 评论