Android ListView与getView调用卡顿问题解决办法
程序员文章站
2023-12-16 12:25:46
android listview与getview调用卡顿问题解决办法
解决办法1,设置listview高度为固定值或者match_parent/ifll_parent...
android listview与getview调用卡顿问题解决办法
解决办法1,设置listview高度为固定值或者match_parent/ifll_parent
@override protected void onmeasure(int widthmeasurespec, int heightmeasurespec) { log.d("onmeasure", "onmeasure"); isonmeasure = true; super.onmeasure(widthmeasurespec, heightmeasurespec); } @override protected void onlayout(boolean changed, int l, int t, int r, int b) { log.d("onlayout", "onlayout"); isonmeasure = false; super.onlayout(changed, l, t, r, b); }
究其原因,无非是listview要动态计算有多少个view显示在里面,所以需要多次onmeasure,最后才onlayout,而onmeasure可能需要执行多次
这不就行了,我们在adapt里面的getview中,判断是否在onmeasure里,如果在,那么仅仅minflater.inflate(r.layout.xxx),然后立刻返回这个convertview
如果不在onmeasure里,那么再去真正的onlayout
结合这种方法,成功解决了卡顿问题..
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!