ListView的优化

本文介绍三种提升ListView性能的方法:设置宽度和高度为match_parent、利用convertView参数及holder模式减少内存消耗和提高加载速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在app开发当中,我们不可避免的遇到ListView。如果ListView使用起来非常卡,则会引不起人们使用的兴趣。在下边中,我们将对ListView进行一个优化提醒,使得我们开发出来的应用更顺畅。

第一、使用ListView时,我们应该将xml文件中的width和height都设置成match_parent。因为这样避免了设置成wrap_content内容包裹在被后面的BaseAdapter中的getView方法引用时,每次都需要先匹配大小。

 

第二、我们在extends  BaseAdapter后,使用getView方法中,使用convertView参数。这个参数控制着当ListView布满屏幕时所new的布局对象。如果不使用这个参数,每次进行ListView滑动的时候,都伴随着大量的xml文件变成对象。这无疑占用了极大的内存,极容易造成程序崩溃。而convertview这个参数就相当于布局池,使用完后的布局对象往布局池里一丢,当下一个使用的时候,先判断布局池里面是否有布局对象,如果有,就不需要再new,这样就节省了大量的操作和内存。(这个非常重要)

第三、因为在ListView里面,很多控件或者布局都是重复使用,而holder就是一个将控件变成对象以便能够重复使用的方法。原理和第二个差不多。它主要是减少了进入xml中解析控件的一些步骤。具体方法如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tiwolf_li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值