关于使用listView应该注意的地方

来源:互联网 发布:rpg游戏制作软件 编辑:程序博客网 时间:2024/05/22 23:49

1,现在不少app中使用scrollView+listView的方法显示数据,应为android本身的问题,这两者使用会造成冲突。listView只会显示一个item,通常我们重新计算listView的高度既可以解决了,甚至还出现了listViewForScrollView这样的View。如果这样做了就存在一个问题,此时的listView在加载item的时候是一次性全部加载完所有的数据。那么一个很严重的问题就随之产生了:---当listView要加载的数据量很大时,需要消耗很长的时间去加载显示这些数据,甚至会产生短时间的黑屏,更坏的情况是出现anr。

总结:scrollView+listView不宜加载太多数据,应该使用其他方法替代。比如:使用listView的addHeaderView()方法。

2.我们使用listView的时候,通常会复用getVIew()方法里面的convertView和自定义的Viewholder。但是为什么一定要判断convertView是否为空呢?这是用为,convertView在不确定的情况下就会为空。啥叫不确定啊?总结一下:

a)上一次convertView里面的内存还没来得及回收,下一个getView方法就执行了,这是convertView会为空,此时要重新new一个convertView。

b)上一次的convertView被判断不能用于下一个item的时候(也就是说不是listView的每个item都长得一样),这时convertView也会是null需要重新new。如果这个时候getVIew()方法做的事情很多,不好意思,你会发现滑动listView时一卡一卡的。

0 0
原创粉丝点击