当前位置:网站首页>RecyclerView设置缓存大小
RecyclerView设置缓存大小
2022-08-10 22:16:00 【今人不见古时月,今月曾经照古人】
前两天遇到问题,RecyclerView使用GridView布局,滑出界面两行再划回来,只有第一行只有前两个grid位置的控件还保留原来功能,后面的都失活了,觉得是控件的问题,然后最终解决,以下是帮助了我的文章,收藏!有时间详细学习!
段落1
熟悉RecyclerView 缓存的同学应该知道(后面在也会介绍RecyclerView缓存机制),当RecyclerView中的itemView 滑出屏幕后会缓存在mCacheView 中(默认缓存最大数是2),因此当滑出屏幕超过2后,再滑回来,原来的位置信息都会被重置。
段落2
滑动场景中的复用会用到这里的机制。mCachedViews 的大小默认为2。遍历 mCachedViews,找到 position 一致的 ViewHolder,之前说过,mCachedViews 里存放的 ViewHolder 的数据信息都保存着,所以 mCachedViews 可以理解成,只有原来的卡位可以重新复用这个 ViewHolder,新位置的卡位无法从 mCachedViews 里拿 ViewHolder出来用。
RecyclerView回收和复用机制分析(这篇讲的非常好,完美的解决了我的困惑)
段落3
你可以调用
recyclerView.setItemViewCacheSize(int);
这个 api,去调整 RecyclerView 的复用逻辑和方式来解决 onBindViewHolder 没有调用的这个问题。
其他:
边栏推荐
猜你喜欢
随机推荐
MySQL: MySQL Cluster - Principle and Configuration of Master-Slave Replication
ArcGIS应用基础知识
STL-deque
uni-app微信小程序——下拉多选框
xshell (sed 命令)
ArcGIS中的坐标系统和投影变换
STL-deque
云服务器基于 SSH 协议实现免密登录
瑞幸咖啡第二季营收33亿:门店达7195家 更换CFO
今日睡眠质量记录75分
Detailed installation steps and environment configuration of geemap
阿里云架构师金云龙:基于云XR平台的视觉计算应用部署
Conditional Statements of Shell Programming (2)
美味的佳肴
shell programming without interaction
STL-stack
What is Jmeter? What are the principle steps used by Jmeter?
pytorch手撕CNN
LeetCode每日两题01:反转字符串 (均1200道)方法:双指针
68: Chapter 6: Develop article services: 1: Content sorting; article table introduction; creating [article] article services;









