RecyclerView的复用与回收

目录

0.前言:推荐初学者阅读RecyclerView机制

1.复用与回收的关系

1.1复用流程

1.2回收流程

1.3复用与回收的先后关系

2.刷新机制


0.前言:推荐初学者阅读RecyclerView机制

http://t.csdnimg.cn/2hUeU

1.复用与回收的关系

滚动屏幕——先复用,再回收

1.1复用流程

复用流程:缓存 mCachedViews 取 >

                                     缓存 RecycledViewPool 取 >                                                                                                                  Adapter.onCreateViewHolder()直接创建新的

1.2回收流程

遍历移除屏幕的 View,从 View的 LayoutParams 中取出 ViewHolder,塞入 2级缓存 mCachedViews
                 如果 mCachedViews 满了(容量2),则 mCachedViews 移除第一个,用来放要回收的 ViewHolder
                 如果 RecycledViewPool 对应 viewType 的 List 没满(容量5),则从 mCachedViews 移除的 ViewHolder 放入 RecycledViewPool

                 如果RecycledViewPool满了,将会直接丢弃viewHolder

1.3复用与回收的先后关系

复用的对象是原就在mCachedViews,ReclerViewPool内的,不算马上消失的

而回收对象,是马上消失的item,等到复用完成后,这些item才会加入mCachedViews或ReclerViewPool内

2.刷新机制

RecyclerView 支持局部刷新

1、notifyItemChanged(int position, Object payload)
payload参数,传入非空Object对象

2、onBindViewHolder(RecyclerHolder holder, int position, List payloads)
payloads.size 永远是 1,根据 payload参数值,实现局部刷新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/304687.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

东方博宜 1738. 胜负对决

东方博宜 1738. 胜负对决 以为这道题很简单呢,结果提交两次还不对,气死个人~ 思路:这道题的重点在于看清楚题意,是第奇数个,而不是数是奇数 。 还有,如果按照位数的奇偶来判定,那在读取数组的时…

台灯哪个牌子好,五大护眼灯品牌排行分享

​当前,我国青少年的近视率已超过半数,位居全球之首,且近视发生年龄呈现下降趋势。长时间用眼和过度使用电子产品是导致近视高发的主要因素。面对这一挑战,如何改善现状成为了一个亟待解决的问题。对于儿童而言,降低近…

浅谈在线监测系统在水厂水质管理工程中的应用与研究

【摘要】:随着水厂水质管理技术和管理水平的提升,达到了在线监测系统通过监测数据的反馈,及时发现问题,快速处理事故,优化了水资源的利用率,提高了供水系统的稳定性和安全性,从而有效地提高供水…

2.网络编程-HTTP和HTTPS

目录 HTTP介绍 HTTP协议主要组成部分 GET 和 POST有什么区别 常见的 HTTP 状态码有哪些 http状态码100 HTTP1.1 和 HTTP1.0 的区别有哪些 HTTPS 和 HTTP 的区别是什么 HTTP2 和 HTTP1.1 的区别是什么 HTTP3 和 HTTP2 的区别是什么 HTTPS的请求过程 对称加密和非对称…

初识--数据结构

什么是数据结构?我们为什么要学习数据结构呢....一系列的问题就促使我们不得不了解数据结构。我们不禁要问了,学习C语言不就够了吗?为什么还要学习数据结构呢?这是因为:数据结构能够解决C语言解决不了的问题&#xff0…

【NLP】隐马尔可夫模型(HMM)与条件随机场(CRF)简介

一. HMM 隐马尔可夫模型(Hidden Markov Model, HMM)是一种用于处理含有隐藏状态的序列数据的统计学习模型。通过建模隐藏状态之间的转移关系以及隐藏状态与观测数据的生成关系,HMM能够在仅观察到部分信息的情况下进行状态推理、概率计算、序…

一分钟了解机器人自由度

目录 自由度的定义 自由度的分类 自由度的影响 影响自由度的主要参数 关节类型和数量 机械结构 控制系统 自由度控制的硬件架构原理 传感器 执行器 控制器 通信接口 软件和算法 机器人的自由度是指机器人在空间中可以独立移动的方向和角度的数量,它是衡…

面向对象设计原则实验“依赖倒置原则”

高层模块不应该依赖于低层模块。二者都应该依赖于抽象。抽象不应该依赖于细节。细节应该依赖于抽象。 (开闭原则、里氏代换原则和依赖倒转原则的三个实例很相似,原因是它之间的关系很紧密,在实现很多重构时通常需要同时使用这三个原则。开闭…

【C++】模版

目录 一、泛型编程二、函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的原理2.4 函数模板的实例化2.5 模板参数的匹配原则 三、类模板3.1 类模板的定义格式3.2 类模板的实例化 四、非类型模板参数五、模板的特化5.1 概念5.2 函数模板特化5.3 类模板特化5.3.1 全特化5.3…

天书奇谈_源码_搭建架设_3D最新天启版_自带假人

本教程仅限学习使用,禁止商用,一切后果与本人无关,此声明具有法律效应!!!! 一. 效果演示 天书奇谈_源码_搭建架设 环境: centos7.6 , 放开所有端口 源码获取 https://…

泰山众筹:电商新模式解析与优势探讨

一、泰山众筹模式概述 泰山众筹,是一种创新的电商模式,其核心在于通过产品销售与积分众筹的结合,实现用户与平台的共赢。用户购买产品获得积分,随后可将积分投入众筹活动,成功出局者可获得奖励并提现。 二、泰山众筹的…

智能运维场景 | 科技风险预警,能实现到什么程度?

[ 原作者:擎创夏洛克,本文略做了节选和改编 ] 每次一说到“风险预警”,就会有客户问我们能做怎样的风险预警。实际上在智能运维厂商来说,此风险非彼风险,不是能做银行的业务上的风险预警(比如贷款风险等&a…

Java工具类:批量发送邮件(带附件)

​ 不好用请移至评论区揍我 原创代码,请勿转载,谢谢! 一、介绍 用于给用户发送特定的邮件内容,支持附件、批量发送邮箱账号必须要开启 SMTP 服务(具体见下文教程)本文邮箱设置示例以”网易邮箱“为例&…

基于Springcloud可视化项目:智慧工地可视化大数据云平台源码

目录 技术架构 智慧工地系统在实际推行过程中遇到的问题 智慧工地接纳程度较低 基础设施条件有待完善 智慧工地整体生态尚未完善 智慧工地平台各功能模块 施工过程工信程息信管息理管模理块 人员管理模块 生产管理模块 技术管理模块 质量管理模块 安全管理模块 绿…

从零开始学Spring Boot系列-SpringApplication

SpringApplication类提供了一种从main()方法启动Spring应用的便捷方式。在很多情况下, 你只需委托给 SpringApplication.run这个静态方法 : SpringBootApplicationpublic class SpringbootLearningApplication {public static void main(String[] args) …

ACL实验

要求:1、PC1可以telnet登录R1,不能ping通R1 2、PC1可以ping通R2,但不能登录R2。 3、PC2的所有规则与pc1相反。 第一步、如图配置IP地址 第二步、运行静态路由协议,使全网可达 [R2]ip route-static 192.168.2.0 24 192.168.1.1…

Python学习之-pyechart详解

前言: 什么是pyechart? Pyecharts 是一个用于生成 Echarts 图表的 Python 库。Echarts 是一个由百度开源的数据可视化工具,它提供的图表种类丰富,交互性强,兼容性好,非常适合用于数据分析结果的展示。Pyec…

深入K8S实战

K8S: 深入K8S实战进阶篇 1、搭建 Kubernetes 集群 1.1、搭建方案 1.1.1、minikube minikube 是一个工具, 能让你在本地运行 Kubernetes。 minikube 在你的个人计算机(包括 Windows、macOS 和 Linux PC)上运行一个一体化(all-i…

「C1N短网址教程」短链接之网上生成的短链接可以用多久

网上生成的短链接可以用多久?很多人发现自己生成的短链接一会儿就失效了,今天我们就站在业内人士的角度说说网上生成的短链接可以用多久。 因为短链接生成之后是固定的,它就像我们网站的链接一样,只是披了层外衣,所以从理论上来说…