RecycleView四级缓存
- 一级缓存:用于存放当前屏幕可显示区域的ViewHolder,目的是为了方便更新数据,以及对View操作时更加快捷
- 二级缓存:用于缓存最近滑动出屏幕的ViewHolder,目的是为了当用户将该View滑出屏幕外时又突然滑回来时能够快速显示,最多能缓存2个ViewHolder,不需要重新绑定数据,只有当postion相同时才能匹配上
- 三级缓存:用户自定义的缓存,一般比较少用上
- 四级缓存:用于缓存其他滑出屏幕外的ViewHolder,每种类型的ViewHolder最多5个
RecycleView缓存过程
- 新添加的View默认会进入一级缓存
- 当往上滑出屏幕时,会从一级缓存进入二级缓存中
- 当二级缓存满了2个时,会把最早进入二级缓存的ViewHolder移动到四级缓存中
- 当屏幕填满View继续往上滑动时,会先从二级缓存中查找,如果没有的话会从四级缓存中,最后还是没有就直接new一个新的并放入一级缓存中
RecycleView和ListView对比
- RecycleView缓存的是ViewHolder,而ListView缓存的是View
- RecycleView有四级缓存,而ListView只有两级缓存,分别相当于RecycleView的一级和四级缓存
- RecycleView支持局部更新,而ListView默认不支持
- RecycleView将布局分离,使用LayoutManager管理布局,并且支持扩展,而ListView默认只支持纵向布局
- RecycleView支持View动画,ListView默认不支持
文章来源地址https://www.toymoban.com/news/detail-403200.html
文章来源:https://www.toymoban.com/news/detail-403200.html
到了这里,关于RecycleView小结的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!