Android ListView优化技巧

Android ListView优化技巧

接触Android开发一段时间了,ListView是最为常见的一个组件,它的优化方法也尤为重要,在这里我做一个总结,方便自己随时查阅。

1.使用ViewHolder模式提高效率。ViewHolder模式充分利用ListView的视图缓冲机制,避免了每次调用getView的时候通过findViewById去实例化控件。根据Android工具书中所列举的,使用ViewHolder将提高50%以上的效率。使用这种方法需要在自定义Adapter类中定义一个内部类ViewHolder即可。

2.如果涉及到图片,可以在listview滑动的过程中不加载图片,而是在listview停止滑动的时候去加载图片。这在我的项目家长端是用到过的。

3.第三点是很多地方都会遇到的,也就是减少item的布局的层次,尽量多的使用RelativeLayout布局。

4.重用了convertView,很大程度上的减少了内存的消耗。通过判断convertView是否为null,是的话就需要产生一个视图出来,不是的话就重用视图。

5.尽量避免在自定义Adapter类中使用static 来定义全局静态变量。

6.尽量避免在ListView适配器中使用线程,因为线程产生内存泄露的主要原因在于线程生命周期的不可控制。随着我们ListView的不断滑动,线程可能会越聚越多,造成卡死。

7.尽量使用applicationcontext而不是activity自带的context。

这上面的几点其实不光光是ListView的优化,它还涉及到了Android本身的一些优化,在这里我把它们都记下来,同时保证持续更新,以备自己查阅。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值