ListView的优化问题

以前对于ListView的优化紧紧加了个viewholder,后来在共工作中发现ListView的优化其实还有很多工作需要做。下面总结如下:

第一个条建议.viewholder的使用,这个就不说了基本上都知道为什么以及怎么实现,但是需要提醒一点,有的时候使用viewholder会出现一些问题,比如在getView方法中进行些判断来选择使用什么内容来更新UI。很容易出现的一种情况是判断范围没有完全覆盖到可能出现的情况,于是就可能会使用前一个(或前一组)ITEM中的viewholder,导致出现错误的UI。

第二个条建议.在getView方法中尽量减少使用逻辑。以前我会把所有逻辑业务都放到getView里面进行处理,后来发现这样做和另外一种方法比起来的确很耗费资源,那就是在准备数据源的时候将每一个item中需使用的数据经过逻辑处理一遍,从而使getView中只是完成简单的赋值。

第三个条建议.尽量减少GC调用。对于listview来说减少GC我现在只能做到在getView里不更多创建新的对象。尽量做到只在一开始创建一组viewholer,后面就一直复用这几个对象,这也是第二条建议提出的一个原因。

第四条建议.加载图片时尽量做到滑动停止在加载。这个也很简单就是添加一个监听器,在回调方法中判断是否滑动停止。

具体使用的图片加载器可能不尽相同,里面对于图片的处理也有很多选项。具体情况具体分析。反正归根结底一条,在getView方法里尽量做减法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值