文章目录
一、ListView卡顿的原因
导致ListView
卡顿的原因有很多,主要包括:Item没有复用、层级过深、数据绑定逻辑过多、滑动时不必要的图片刷新以及频繁的notifyDataSetChanged。
1.1 Item没有复用
ListView
的Item
没有复用
是导致卡顿
的常见原因。
在滑动的过程中,有些Item
离开屏幕,有些Item
需要进入屏幕。
离开屏幕的Item
一般会加入到缓存容器
中,而不是让item
直接被GC
的回收。如果有缓存
,那么滑动进入屏幕的Item
会优先从缓存容器中读取。
读取到的缓存
会通过给convertView
赋值来更新UI
。
如果没有复用的item
,那么之后每次都会重新创建
这些Item
,也就是通过LayoutInflater
进行Item<