Android 优化List图片显示

通常在界面中涉及到大量图片加载的时候都会产生卡顿,因此需要优化

其核心思想就是减少在getView()中的代码量和操作,让其尽可能的轻量化。众多方法最根本的目的是 将一切耗时的操作从getView中抽离,常见的耗时如 大量计算,加载图片,加载网络数据,加载资源文件,new 对象的操作等等, 尽量让getView只设置值。

最基本的有:

1.复用convertView,这是最基本的 ,不要每次新建一个item就产生一个view对象 这样很容易导致滑动不畅甚至内存溢出;

2.ViewHolder 也是  减少item中控件的findViewById操作,也节约了不少内存

ListView中有图片的时候,我们尽量使用异步操作来加载图片

为了防止滑动不畅 我们可以在滑动的时候不请求数据不加载图片,或者不在快速滑动的时候加载图片,实现起来也不麻烦,给 ListView 设置 ScrollListener,针对 Fling 的情况做处理就行了。然后在滑动停止后再操作。

对listview中图片要进行规范,一般情况都需要进行压缩

listView的item中尽量减少布局层次结构,item中的空件宽高尽量写成固定的值或者math_parent,减少view的绘制 同理如果使用权重的地方过多也会增加绘制的压力

listView分页请求数据也可以减少压力

原文地址:https://www.cnblogs.com/yjpjy/p/5122267.html