ListView频繁调用getView方法

今天遇到了一个很尬的问题,就是listview的Item中存在一个倒计时的自定义TextView控件,每隔一秒进行设置文本操作,结果导致列表卡顿,打日志发现频繁的调用getView方法,这是怎么回事呢?初步定位是这个TextView更新文本导致的,就先写注释到设置文本操作,结果果然就不频繁调用了,难道是这个TextView问题但始终没发现这个控件有什么问题,重新屡一下思路,listview宽高改变的时候会调用getView,发现listView宽高都是match_parent不涉及重新计算问题啊,就继续一层层排查查看父布局,发现如下:

难道是这里为了满足在mHeaderBar下面并填充父控件而设置成layout_height=“0dp”导致的,将根修改成相对布局将layout_height=“match_parent”,结果发现问题不发生了

总结:listView中item存在动态更新时尽量将listview及每层的父控件设置固定值或match_parent,如果布局复杂就代码动态给listView设置固定高度,从而避免listview重新计算宽高而导致频繁调用getView方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值