- 浏览: 120657 次
- 性别:
- 来自: 广州
文章分类
最新评论
工作原理 :
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,不必重新创建一个视图。
发表评论
-
stopSelf()与stopSelf(startId)的区别
2016-04-14 14:44 1108startId:表示启动服务的次数 stopSelf(sta ... -
安装/卸载/替换成功广播接收
2016-01-08 11:59 789<receiver android:name=" ... -
ContentProivder
2015-12-09 09:26 488ContentProvider 我们实现了其中的几个方法 ... -
Android获取网络时间
2015-11-19 11:27 11801、实时获取: LocationManager locatio ... -
android animation知识
2015-11-14 11:47 574<?xml version="1.0" ... -
代码中设置android:drawableTop等
2015-11-14 10:42 1017btnAttachment.setCompoundDrawab ... -
自定义View
2015-11-04 15:09 404一般来说,自定义View都会去重写onMeasure()方法, ... -
SimpleOnGestureListener
2015-11-04 12:03 543onScroll()缓慢滑动,手指滑动屏幕的过程中执行; on ... -
设置dialog在底部并宽度全屏显示
2015-11-02 11:53 2288pickerDialog.setContentView(vie ... -
横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效
2015-10-29 10:51 1784在之前的版本中都是在Manifest文件中设置Activity ... -
Dialog注意点
2015-10-28 17:14 514dialog:setCancelable与setCancele ... -
清除setBackgroundResource的原有值
2015-10-23 16:50 1161setBackgroundResource(0);清除原有的s ... -
接收隐式意图
2015-10-22 11:29 543想接收隐式意图,必须在他们的意图过滤器中配有:android. ... -
严苛模式
2015-10-14 20:25 1375//启用严苛模式,StrictMode可以用于捕捉发生在应用程 ... -
Android使用Animation完成动画保留最后一帧的办法
2015-09-08 10:43 2423在动画效果的xml中,在set标签中加上一条android:f ... -
控件getHeight和getWidth等于0的解决办法
2015-09-07 17:27 1424//监听layoutContainer是否初始化完成 l ... -
Service和Thread的区别?
2015-08-19 13:25 496servie是系统的组件,它由系统进程托管(servicema ... -
避免内存泄露
2015-08-18 19:21 4841、尽量避免在Activity使用static。 2、能使用A ... -
需要context的时候用activity还是application?
2015-08-17 17:02 753需要context的时候用activity还是applicat ... -
谈谈UI中, Padding和Margin有什么区别?
2015-08-10 17:18 1099Padding 文字对边框, margin是控件与控件之间的距 ...
相关推荐
在“无废话Android系列教程36-1”中,我们将深入探讨ListView的工作原理,并通过实际的代码测试来加深理解。这篇教程旨在帮助开发者们更高效地使用和优化ListView,提高应用性能。 ListView的核心机制是视图复用...
首先,我们需要了解基本的ListView工作原理。ListView通过Adapter来获取并展示数据,Adapter是连接数据源与ListView的桥梁。在Android Studio中,我们通常会创建一个自定义的Adapter,继承自BaseAdapter或者...
总之,实现Android中的嵌套ListView折叠列表需要对ListView的工作原理有深入理解,并能灵活运用Adapter和视图复用机制。同时,合理优化和选择合适的组件也是提高性能的关键。在实际开发中,应根据项目需求和性能要求...
本资源"Android源码——listView学习源码.zip"包含了对ListView工作原理的详细解析,以及可能的实践代码示例。 ListView的核心功能在于它可以动态加载和回收视图,以优化内存使用。当用户滚动列表时,ListView会...
首先,我们需要理解Android中的ListView工作原理。ListView通过复用视图(view recycling)机制提高了性能,当一个item滑出屏幕时,它的视图会被回收并用于显示新的item。因此,在实现折叠动画时,我们需要考虑到...
本资源“android很全的listview实现demo源码”提供了一个完整的ListView实现示例,对于开发者来说,是深入理解ListView工作原理和优化技巧的宝贵学习资料。 ListView的基础知识包括以下几个方面: 1. **Adapter**...
这种方式虽然相对复杂,但在某些场景下可能是必要的,比如动态生成列表或者在了解ListView工作原理时非常有用。 首先,我们需要创建一个ListView对象。在Java代码中,你可以通过`new ListView(context)`来实例化一...
Android系列课程第三季:ListView原理、使用和优化——快速提高 从最重要的UI组件ListView入手,充分了解ListView的原理、使用方法和优化技巧,结合前两讲的内容,快速提高对Android开发技术掌握的能力。
这个"ListView学习系列源码"是一个非常适合初学者深入理解ListView工作原理和优化策略的资源。 首先,我们来了解ListView的基本结构。ListView由多个子视图(通常称为`ListView`的`Item`)组成,这些子视图由适配器...
首先,我们需要了解基本的ListView工作原理。ListView通过Adapter来填充数据,每一项(Item)都是一个可复用的View。为了实现滑动删除,我们通常会自定义ListView的Item布局,添加一个隐藏的删除按钮,并监听用户的...
首先,我们需要了解基本的ListView工作原理。ListView通过Adapter来绑定数据源,并通过ViewHolder优化视图复用,提高性能。在创建可拖拽的ListView时,我们将在Adapter中添加额外的逻辑。 1. **设置拖拽监听器**: ...
首先,我们要了解基本的ListView工作原理。ListView通过Adapter来填充数据,每个列表项(Item)由一个View表示,通常我们通过自定义布局文件来设计这个View。当用户滚动ListView时,为了优化性能,ListView会复用...
这份"Android listView学习源码.zip"资源提供了深入理解ListView工作原理的机会,让我们一起探索这个核心组件背后的源代码。 ListView的工作原理主要涉及到以下几个关键知识点: 1. **Adapter**:Adapter是...
源码可以提供深入理解ListView工作原理的机会,同时0分下载可能意味着这是免费分享的,无需积分或其他条件,这为开发者提供了便捷的学习途径。 【标签】"android"明确了这个话题的领域,是Android应用开发。Android...
本篇文章将深入探讨ListView的刷新原理及其实现方法。 首先,我们需要理解ListView的工作机制。ListView采用了一种称为"视图复用"的技术,即在用户滚动时,只加载可见的列表项,隐藏的项会被回收再利用。这种机制...
ListView的工作流程可以这样描述:它维护了一个叫做`convertView`的缓存,当需要绘制一个新的item时,首先检查缓存中是否有可用的View。如果有,就直接拿来使用,调整其内容以匹配新的数据;如果没有,才会创建一个...
这份"Android listView学习源码"提供了深入理解ListView工作原理的机会,是Android开发者提升技能的宝贵资料。以下是对这份源码的学习重点和相关知识点的详细解析: 1. **ListView的基本结构**:ListView由多个...
【Android中ListView的工作原理】 ListView是Android开发中用于展示大量数据的列表视图组件,它通过高效的复用机制,实现了滚动流畅、性能优秀的用户体验。在深入理解ListView的工作原理之前,我们需要了解以下几个...
通过这些文件,开发者可以了解如何将所学理论知识应用到实际项目中,增强对Android系统和ListView工作原理的理解。 总之,这份源码资料是学习和研究Android ListView动画效果的宝贵资源,可以帮助开发者提高应用的...
首先,我们要理解Android的ListView工作原理。ListView通过Adapter来绑定数据,Adapter是连接数据源和视图的桥梁,负责将数据转化为可显示的View。当ListView需要显示新内容时,会回调Adapter的getView()方法,返回...