Android开发之ListView详解 以及简单的listView优化
2024-10-09 13:35:47
ListView列表视图
最常用的控件之一,使用场景例如:微信,手机QQ等等。
android:divider:每个item之间的分割线,可以使用图片或者色值。
android:dividerHeight:高度
使用方式,等同于Spinner:ArrayAdapter,SimpleAdapter,BaseAdapter。
BaseAdapter:
特点:高度自定义item布局,同时逻辑操作更加丰富。
getCount():item的数量
getItem():获取item中的数据
getItemId():获取item的id,通常使用position作为id即可。
getView(position, convertView, parent):获取item的布局。
当一个item出现在屏幕中时(尽管没有完全出现),就会执行getView()方法。
ListView优化:
一:convertView的复用
二:ListView的高度属性需要设置为match_parent,这样保证getView的调用次数与屏幕内item的次数保持一致
三:ViewHolder视图保持者。记录了控件所在位置,防止频繁的findViewById,因此能够避免频发触发GC,节省了内存开销。
最新文章
- java 平面上最近两个点之间的距离
- Oracle导入excel数据方法汇总[转]
- LA 3971 (二分) Assemble
- ecshop 用户名和邮箱都能登陆
- 加快modelsim仿真速度的方法(原创)
- 基于jq图片居中插件 [center]
- Jquery中index()问题
- (原)前端知识杂烩(css系列)
- php目录函数
- Python3 字符串前面加u,r,b的含义
- 浅析C语言的变量
- Github上Laravel开源排行榜Star数61-90名
- vue安装与配置
- BZOJ1855或洛谷2569 [SCOI2010]股票交易
- hdu 3015
- mysql查询语句分析 explain/desc用法
- Android高级_视频播放控件
- 【转】Fiddler工作原理
- 简易版本vue的实现和注解
- 【Java并发编程】之十:使用wait/notify/notifyAll实现线程间通信的几点重要说明
热门文章
- 数据库允许空值(null),往往是悲剧的开始
- 详解Flask上下文
- JsLint undeclared ‘window’
- 【NOIP2015】斗地主 题解(DFS+贪心)
- Java—匿名对象/内部类/访问修饰符/代码块
- Python多进程队列间传递对象
- Springboot调用Oracle存储过程的几种方式
- 极简 Node.js 入门 - 2.3 process
- 性能分析(6)- 如何迅速分析出系统 CPU 的瓶颈在哪里
- vue keep-alive 不生效和多级(三级以上)缓存失败