ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)

转载 2012年03月28日 16:31:19
这几天测试时发现了些可以改进的地方。

之前的方法确实能很有效的解决 :listview加载下一页时 因为图片较多异步加载的卡顿问题。

但是,发现在用手拖动ListView的时候,滚动出的item中的图片是不加载的。

 

原因是在onScrollStateChanged方法中监听,只能监听滚动状态的改变(拖动时它只执行一次),而在用手一直拖动时,系统是不回调onScrollStateChanged方法的,其中加载图片的方法自然是不会执行的!

 

为了让拖动列表时显示出来的item也加载图片,所以我添加了setOnTouchListener监听,便可完美解决这个问题:

Java代码 复制代码 收藏代码
  1. /**  
  2.          * list 触摸监听  
  3.          */  
  4.         _listView.setOnTouchListener(new OnTouchListener() {   
  5.             @Override  
  6.             public boolean onTouch(View v, MotionEvent event) {   
  7.                 // TODO Auto-generated method stub   
  8.                 if(event.getAction() == MotionEvent.ACTION_MOVE&&_scrollState!=OnScrollListener.SCROLL_STATE_FLING){   
  9.                     //这里加入加载图片的方法 和setOnScrollListener监听中的方法一样即可   
  10.                 }   
  11.                 return false;   
  12.             }   
  13.         });  
 要注意的是 

当你的onTouchListener返回true时,那么touch事件就被拦截了,代表你自己处理了。onListItemClick变不会执行!!

返回false的话,就不会影响。

android中ListView性能优化异步加载图片 使滑动效果流畅

ListView 是一种可以显示一系列项目并能进行滚动显示的 View,每一行的Item可能包含复杂的结构,可能会从网络上获取icon等的一些图标信息,就现在的网络速度要想保持ListView运行的很...

ListView卡顿原因分析

1..Adapter的getView方法里面convertView没有使用setTag和getTag方式; 2.在getView方法里面ViewHolder初始化后的赋值或者是多个控件的显示状态和背...

Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)

最近在做ListView分页显示,其中包括图片 和文字(先下载解析文字内容,再异步加载图片)发现每次点击下一页后,文字内容加载完毕,马上向下滑动,由于这时后台在用线程池异步下载图片,我每页有20条,也...

Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)

最近在做ListView分页显示,其中包括图片 和文字(先下载解析文字内容,再异步加载图片)发现每次点击下一页后,文字内容加载完毕,马上向下滑动,由于这时后台在用线程池异步下载图片,我每页有20条,也...

Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)

最近在做ListView分页显示,其中包括图片 和文字(先下载解析文字内容,再异步加载图片)发现每次点击下一页后,文字内容加载完毕,马上向下滑动,由于这时后台在用线程池异步下载图片,我每页有20条,也...

ListView滚动时加载图片(只加载当前屏幕图片)

http://topic.csdn.net/u/20110907/09/2920b97e-b217-41d6-92dc-429f9b6cb965.html 前些天写了一篇 关于 ...

lanyload加载当前屏幕图片

只加载当前屏幕图片以提高网页的浏览速度相信大家都不陌生,最近做一个网站刚好用到,看了看超简单。只需在页面里引入jquery.lazyload.js就可以了。然后自己可写一些函数来定义图片的预加载,定义...

动态加载当前屏幕的网页图片(网页拖动时图片加载显示)

大家如果使用firebug去查看的话就会发现,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,对于比较...

Android Listview 加载图片优化--本地加载大量图片,解决滑动卡顿现象(滑动停止加载图片)

关于ListView异步加载图片有很多方式,此篇文章讲讲本地加载大量图片时出现的卡顿现象怎么优化; 应当坚持这么一条原则:把用户的体验放在第一位,用户能看到的,触摸到的始终放在第一时间解决 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
举报原因:
原因补充:

(最多只允许输入30个字)