博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发之ListView详解 以及简单的listView优化
阅读量:6258 次
发布时间:2019-06-22

本文共 587 字,大约阅读时间需要 1 分钟。

hot3.png

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,节省了内存开销。

转载于:https://my.oschina.net/mcxiaobing/blog/647480

你可能感兴趣的文章
Rust发布1.32版本,跟踪、模块化、宏等方面均有改进
查看>>
Go语言开源这九年:它是不是你最喜欢的语言?
查看>>
2017敏捷沙滩大会:完美软件,测量持续交付,以及探索未来
查看>>
Visual Studio 2017 15.6发布
查看>>
使用人工智能测试软件
查看>>
如何基于Kubernetes构建完整的DevOps流水线
查看>>
Rust 1.30带来更多元编程支持,并改进了模块系统
查看>>
【转载】10个Web3D可视化精彩案例
查看>>
[deviceone开发]-动态添加组件add方法的示例
查看>>
极限编程创始人Ron Jeffries建议开发者放弃敏捷
查看>>
ticketea如何从一体化转向多体化架构
查看>>
解读2017之容器篇:后Kubernetes时代
查看>>
InfoQ播客:Randy Shoup谈Stitch Fix的技术栈,数据科学和微服务架构
查看>>
高德地图定位工具类
查看>>
Yelp开源数据管道项目最新组件——数据管道客户端库
查看>>
Docker周报:Windows Server将支持Mesos
查看>>
当编程语言掌握在企业手中,是生机还是危机?
查看>>
JetBrains Rider:一款全新的基于IntelliJ和ReSharper的.NET IDE
查看>>
Sonatype收购Vor Security,扩展对Nexus开源组件的支持
查看>>
Git 2.18版本已支持Git协议v2
查看>>