`

ListView工作原理

 
阅读更多

工作原理 :
ListView 针对 List 中每个 item ,要求 adapter “ 给我一个视图 ” (getView) 。
一个新的视图被返回并显示
如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图? NO! 这不可能!
实际上 Android 为你缓存了视图。
Android 中有个叫做 Recycler 的构件,下图是他的工作原理:
如果你有 10 亿个项目 (item) ,其中只有可见的项目存在内存中,其他的在 Recycler 中。
1. ListView 先请求一个 type1 视图 (getView) 然后请求其他可见的项目。 convertView 在 getView 中是空 (null) 的 。
2. 当 item1 滚出屏幕,并且一个新的项目从屏幕低端上来时, ListView 再请求一个 type1 视图。convertView 此时不是空值了,它的值是 item1 。你只需设定新的数据然后返回 convertView,不必重新创建一个视图。
分享到:
评论

相关推荐

    无废话Android 系列教程36-1 [模仿listview的工作原理&测试]

    在“无废话Android系列教程36-1”中,我们将深入探讨ListView的工作原理,并通过实际的代码测试来加深理解。这篇教程旨在帮助开发者们更高效地使用和优化ListView,提高应用性能。 ListView的核心机制是视图复用...

    android的listview嵌套listview,列表嵌套列表 android studio版本

    首先,我们需要了解基本的ListView工作原理。ListView通过Adapter来获取并展示数据,Adapter是连接数据源与ListView的桥梁。在Android Studio中,我们通常会创建一个自定义的Adapter,继承自BaseAdapter或者...

    android listview嵌套listview实现折叠列表

    总之,实现Android中的嵌套ListView折叠列表需要对ListView的工作原理有深入理解,并能灵活运用Adapter和视图复用机制。同时,合理优化和选择合适的组件也是提高性能的关键。在实际开发中,应根据项目需求和性能要求...

    Android源码——listView学习源码.zip

    本资源"Android源码——listView学习源码.zip"包含了对ListView工作原理的详细解析,以及可能的实践代码示例。 ListView的核心功能在于它可以动态加载和回收视图,以优化内存使用。当用户滚动列表时,ListView会...

    android动画实现ListView折叠展开

    首先,我们需要理解Android中的ListView工作原理。ListView通过复用视图(view recycling)机制提高了性能,当一个item滑出屏幕时,它的视图会被回收并用于显示新的item。因此,在实现折叠动画时,我们需要考虑到...

    android很全的listview实现demo源码

    本资源“android很全的listview实现demo源码”提供了一个完整的ListView实现示例,对于开发者来说,是深入理解ListView工作原理和优化技巧的宝贵学习资料。 ListView的基础知识包括以下几个方面: 1. **Adapter**...

    不用配置文件,完全使用代码手工创建ListView

    这种方式虽然相对复杂,但在某些场景下可能是必要的,比如动态生成列表或者在了解ListView工作原理时非常有用。 首先,我们需要创建一个ListView对象。在Java代码中,你可以通过`new ListView(context)`来实例化一...

    Android ListView原理使用和优化技巧

    Android系列课程第三季:ListView原理、使用和优化——快速提高 从最重要的UI组件ListView入手,充分了解ListView的原理、使用方法和优化技巧,结合前两讲的内容,快速提高对Android开发技术掌握的能力。

    ListView学习系列源码

    这个"ListView学习系列源码"是一个非常适合初学者深入理解ListView工作原理和优化策略的资源。 首先,我们来了解ListView的基本结构。ListView由多个子视图(通常称为`ListView`的`Item`)组成,这些子视图由适配器...

    listview 向左滑动删除

    首先,我们需要了解基本的ListView工作原理。ListView通过Adapter来填充数据,每一项(Item)都是一个可复用的View。为了实现滑动删除,我们通常会自定义ListView的Item布局,添加一个隐藏的删除按钮,并监听用户的...

    Android ListView 可拖拽Item 1 - 创建浮动Item

    首先,我们需要了解基本的ListView工作原理。ListView通过Adapter来绑定数据源,并通过ViewHolder优化视图复用,提高性能。在创建可拖拽的ListView时,我们将在Adapter中添加额外的逻辑。 1. **设置拖拽监听器**: ...

    listview左右滑动删除

    首先,我们要了解基本的ListView工作原理。ListView通过Adapter来填充数据,每个列表项(Item)由一个View表示,通常我们通过自定义布局文件来设计这个View。当用户滚动ListView时,为了优化性能,ListView会复用...

    Android listView学习源码.zip

    这份"Android listView学习源码.zip"资源提供了深入理解ListView工作原理的机会,让我们一起探索这个核心组件背后的源代码。 ListView的工作原理主要涉及到以下几个关键知识点: 1. **Adapter**:Adapter是...

    改编自XListView的更强大的ListView

    源码可以提供深入理解ListView工作原理的机会,同时0分下载可能意味着这是免费分享的,无需积分或其他条件,这为开发者提供了便捷的学习途径。 【标签】"android"明确了这个话题的领域,是Android应用开发。Android...

    ListView刷新原理及实现

    本篇文章将深入探讨ListView的刷新原理及其实现方法。 首先,我们需要理解ListView的工作机制。ListView采用了一种称为"视图复用"的技术,即在用户滚动时,只加载可见的列表项,隐藏的项会被回收再利用。这种机制...

    ListView布局之View复用原理举例

    ListView的工作流程可以这样描述:它维护了一个叫做`convertView`的缓存,当需要绘制一个新的item时,首先检查缓存中是否有可用的View。如果有,就直接拿来使用,调整其内容以匹配新的数据;如果没有,才会创建一个...

    Android listView学习源码.rar

    这份"Android listView学习源码"提供了深入理解ListView工作原理的机会,是Android开发者提升技能的宝贵资料。以下是对这份源码的学习重点和相关知识点的详细解析: 1. **ListView的基本结构**:ListView由多个...

    Android中ListView的工作原理.pdf

    【Android中ListView的工作原理】 ListView是Android开发中用于展示大量数据的列表视图组件,它通过高效的复用机制,实现了滚动流畅、性能优秀的用户体验。在深入理解ListView的工作原理之前,我们需要了解以下几个...

    Android应用源码之listview 的各种动画效果.zip

    通过这些文件,开发者可以了解如何将所学理论知识应用到实际项目中,增强对Android系统和ListView工作原理的理解。 总之,这份源码资料是学习和研究Android ListView动画效果的宝贵资源,可以帮助开发者提高应用的...

    【计算机专业-Andorid项目源码100套之】ListView中的item随意拖动

    首先,我们要理解Android的ListView工作原理。ListView通过Adapter来绑定数据,Adapter是连接数据源和视图的桥梁,负责将数据转化为可显示的View。当ListView需要显示新内容时,会回调Adapter的getView()方法,返回...

Global site tag (gtag.js) - Google Analytics