Android---RecyclerView回收复用机制

news2025/2/6 14:39:30

一、RecyclerView回收复用

\bullet 回收什么?复用什么?

回收:回收即缓存。当屏幕上的一个itemView滑出屏幕(即不可见了),RecyclerView就利用回收机制,将该itemView放入内存。当其它itemView出现时,不用每次都去new一个新的itemView,而只是去onBindViewHolder绑定数据就行。

复用:复用即取缓存,从集合中去获取。新的itemView滑动出现时,首先是去缓存中拿,如果缓存中不能满足,再去执行onCreateViewHolder创建新的itemView并封装到viewHolder中去。

\bullet 回收的是什么?复用的是什么?

 回收和复用的都是viewHolder对象。

ViewHolder:包装view的。可以理解为RecyclerView的一个ItemView。RecyclerView 回收复用的是 ViewHolder。

 \bullet 什么时候回收?什么时候复用?

当一个itemView不可见时开始回收,而复用则是一个itemView由不可见到可见时开始。

二、RecyclerView四级缓存

1、mChangeScrap 与 mAttachedScrap 用来缓存还在屏幕内的 ViewHolder。

2、mCachedViews 用来缓存移除屏幕之外的 ViewHolder。

3、mViewCacheExtension 开发给用户的自定义扩展缓存,需要用户自己管理 View 的创建和缓存。

4、RecyclerViewPool:ViewHolder 缓存池

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript-Sass

Sass的基础使用 1.简介 1.1简介 Sass是世界上最成熟,最稳定,最强大的CSS扩展语言Sass是css预编译工具可以更加优雅的书写csssass写出来的东西浏览器不认识需要进行转换VSCode推荐使用Easy Sass插件Sass中可以使用加减乘除,条件分支以及循环…

【Three.js入门】处理动画、尺寸自适应、双击进入/退出全屏(Clock跟踪时间,Gsap动画库,自适应画面,进入/退出全屏)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

Python -- 网络编程

目录 1.网络通信的概念 2.IP地址 3.网络通信方式 3.1 直接通信 3.2 使用集线通信 3.3 通用交换机通信 3.4 使用路由器连接多个网络 3.5 复杂的通信过程 4.端口 4.1 端口号 4.2 知名端口号 4.3 动态端口号 4.4 端口号作用 5.socker概念 5.1 不同电脑上的进程之间…

【二叉树经典习题讲解】

If you find a path with no obstacles, probably doesnt lead anywhere. 目录 1 前中后序遍历一颗二叉树 2 总的结点个数 3 求叶子节点个数 4 求树的高度 5 第k层结点个数 6 二叉树的层序遍历 7 判断一棵树是否为完全二叉树 1 二叉树的前序遍历 2 单值二叉树 3 翻转二…

2022卡塔尔世界杯的两个球员:一个吸螺,一个没吸

你好,我是YourBatman:一个俗人,贪财好色。 2022年12月18日,卢塞尔球场,太太太精彩了,这场世界杯决赛!卡塔尔世界杯,已经离我们远去,阿根廷最终满载而归。 那一个个珍贵…

大脑的默认模式网络DMN

虽然默认模式网络DMN现在是rs-fMRI领域中的研究热点,但最初观察到默认模式网络的工具是PET,并且是从任务态过渡到静息态的 PET中大脑功能活动基线的定义: 基线是理解复杂系统的基础根据脑氧提取分数(OEF值)可以确定正…

前端CSS实现跳动的文字

效果图 首选来一个简单的布局 这里就不用多说&#xff0c;都是简单排版 <h1>一个爬坑的Coder</h1>html {height: 100%; }body {display: flex;justify-content: center;align-items: center;height: 100%; } h1 {font-size: 48px; }每个文字独立出来 每个文字都…

最全GIS开发编程语言汇总及分类

推荐查看>>>科研所需模型软件教程&#xff1a;水文水资源、大气科学、农林生态、地信遥感、统计分析、编程语言等... 最近总有很多人关心GIS开发语言的问题&#xff0c;这个确实很重要&#xff0c;毕竟学习一门编程语言需要花费不少时间和精力&#xff0c;找不到合适…

【数据库】并发控制理论

并发控制&#xff08;concurrency control&#xff09; 恢复&#xff08;recovery) 理论支持&#xff1a;基于事务的ACID Atomicity: All actions in the txn happend, or none happen. “All or nothing” Consistency: IF each txn is consistent and the DB starts consis…

【Google语音转文字】Speech to Text 超级好用的语音转文本API

前面有一篇博客说到了讯飞输入法&#xff0c;支持语音输入&#xff0c;也支持电脑内部音源输入&#xff0c;详细参考&#xff1a;【实时语音转文本】PC端实时语音转文本(麦克风外音&系统内部音源) 但是它只是作为一个工具来使用&#xff0c;如果我们想自己做一些好玩的东西…

CANoe-VN5000接口卡在Network-based模式下典型的应用场景

1、Network-based mode说明 CANoe软硬件都需要设置为Network-based mode 软件从CANoe12版本支持Network-based模式(CANoe12时称为Port-based mode,从13开始改为Network-based mode) 硬件从VN5000系列开始支持Network-based模式,VN5610A和VN5640设备需要确保切换到Network…

必读干货|使用Cmake管理C++项目简明教程

一、背景 Cmake是 kitware公司以及一些开源开发者在开发几个工具套件(VTK)的过程中衍生品&#xff0c;最终形成体系&#xff0c;成为一个独立的开源项目。其官方网站是 cmake.org&#xff0c;可以通过访问官方网站获得更多关于cmake的信息。 它是一个跨平台的编译(Build)工具…

【大数据存储技术】「#3」将数据从Hive导入到MySQL

文章目录准备工作安装Hive、MySQL和SqoopHive预操作启动MySQL、hadoop、hive创建临时表inner_user_log和inner_user_info使用Sqoop将数据从Hive导入MySQL启动hadoop集群、MySQL服务将前面生成的临时表数据从Hive导入到 MySQL 中查看MySQL中user_log或user_info表中的数据准备工…

网页爬虫的本质

1.网页结构分析 提取其中一部分核心介绍 &#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <div class"item masonry-brick&quo…

数据管理篇之计算管理

第13章 计算管理 目的&#xff1a;降低计算资源的消耗&#xff0c;提高任务执行的性能&#xff0c;提升任务产出的时间。 1.系统优化 HBO HBO &#xff08;History-Based Optimizer&#xff0c;基于历史的优化&#xff09;是根据任务历史执行情况为任务分配更合理的资源&…

在霍格沃兹测试开发学社学习是种怎样的体验?

霍格沃兹我怎么了解到的 我是河北某二本院校软工专业的学生&#xff0c;大三开始学校来了很多宣讲和实训的公司&#xff0c;都是为我们以后的职业发展做参考。学校有软件测试课程&#xff0c;有一次老师无意提到了霍格沃兹测试开发学社举办的高校“火焰杯”知识竞赛&#xff0…

三角函数sin cos tan和弧度,度等定义及其相关

在此做一个温习及记录&#xff0c;做一个总结&#xff0c;免得到处找。 正弦、余弦和正切是 三角法 里的主要函数&#xff0c;它们是基于一个 直角三角形而建立的。 英文释义&#xff1a; 正弦 &#xff08;sine&#xff09;, 余弦 &#xff08;cosine&#xff09; 和 正切 &a…

毕业设计 单片机心率血氧健康监测手表 - 物联网 嵌入式

文章目录0 前言1 简介2 主要器件3 实现效果4 设计原理4.1 **硬件准备**4.2 **传感器和算法**5 部分核心代码5 最后0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&…

VRRP负载均衡模式配置实用吗?

在前面的文章中&#xff0c;我们知道了VRRP单备份组可以快速实现主备切换&#xff08;&#xff09;&#xff0c;轻轻松松将业务中断时间压缩到1秒钟以内&#xff1b;也对比测试了策略路由进行主备切换的过程&#xff08;&#xff09;&#xff0c;虽然能轻松实现主备设备之间的流…

计算机毕业设计php基本微信小程序的贵小团校园社团小程序

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,贵小团校园社团小程序就是信息时代变革中的产物之一。 任何系统都要遵…