首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
RecyclerView
南北是北北
创建于2025-10-13
订阅专栏
浅析
等 1 人订阅
共9篇文章
创建于2025-10-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
RecyclerView:RecycledViewPool(回收池)
1) 它到底是什么(一句话) RecycledViewPool 是 RecyclerView 的跨位置/跨列表的“冷缓存池” :按 viewType 分桶存放已经创建过但当前未使用的 ViewHold
RecyclerView 的 setItemViewCacheSize
它具体做了什么 当某个 item 滑出屏幕时,Recycler 会先尝试把对应的 ViewHolder 放进 mCachedViews(容量由你设置决定)。 以后如果又需要同一个 position(或
RecyclerView 中的视图复用是如何工作的?
1. 三个核心角色 ViewHolder:承载一条 item 视图与元数据(itemViewType、bindingAdapterPosition、mFlags 等)。 Recycler(回收器) :
RecyclerView 性能优化「系统化排查+落地清单」
0) 先用这一套排查流程(10 分钟复现→定位瓶颈) 关动画做“基线” recyclerView.itemAnimator = null → 先看纯滚动是否顺滑。 固定尺寸 recyclerView.
RecyclerView 的布局能力
1) GridLayoutManager:跨列(SpanSizeLookup) 场景:普通卡片占 1 列,Header/广告/底部加载占整行。 要点 getItemViewType(position)
RecyclerView 的数据驱动更新
为什么用差分(替代手工notify) 手工 notifyDataSetChanged(): 全量重绑 → 闪烁/掉帧; 动画信息丢失(新增/删除/移动/改变都看不见); 大列表 UI 线程压力大。 D
RecyclerView 进阶绑定:多类型 / 局部刷新(payload)/ 稳定 ID
一、总体目标与选型 多 ViewType:一个列表里混排 Banner、Card、Footer … 局部刷新:只改动变化字段(避免整行重绑/闪烁) 稳定 ID:同一个“业务实体”在数据变化中身份不变,
RecyclerView 的关键角色与各自职责/协同关系
总览:谁跟谁配合(数据 → 视图 → 交互) 1) RecyclerView(容器/调度中心) 职责 处理触摸与滚动(NestedScrolling、fling、OverScroll/EdgeEffe
RecyclerView四级缓存
一、四级缓存是谁 Scrap(临时废料堆) 包含:mAttachedScrap、mChangedScrap,以及隐藏但未移出父容器的 child(hidden)。 特征:仍绑定(bound)到当前位置