Fresco对Listview等快速滑动时停止加载

Posted 一点点征服

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fresco对Listview等快速滑动时停止加载相关的知识,希望对你有一定的参考价值。

Fresco中在listview之类的快速滑动时停止加载,滑动停止后恢复加载:

1.设置图片请求是否开启

  1. // 暂停图片请求  
  2. public static void imagePause() {  
  3.     Fresco.getImagePipeline().pause();  
  4. }  
  5.   
  6. // 恢复图片请求  
  7. public static void imageResume() {  
  8.     Fresco.getImagePipeline().resume();  
  9. }  


2.设置ListView滚动监听
  1. <pre name="code" class="java"><pre name="code" class="java">mListView.setOnScrollListener(new AbsListView.OnScrollListener() {  
  2.     @Override  
  3.     public void onScrollStateChanged(AbsListView view, int scrollState) {  
  4.         switch(scrollState){  
  5.             case AbsListView.OnScrollListener.SCROLL_STATE_IDLE://空闲状态  
  6.                 imageResume();  
  7.                 break;  
  8.             case AbsListView.OnScrollListener.SCROLL_STATE_FLING://滚动状态  
  9.                 imagePause();  
  10.                 break;  
  11.             case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL://触摸后滚动  
  12.                 break;  
  13.         }  
  14.     }  
  15.     public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {  
  16.   
  17.     }  
  18. });  




就是这么多,赶紧试试吧!







以上是关于Fresco对Listview等快速滑动时停止加载的主要内容,如果未能解决你的问题,请参考以下文章

Flutter ListView优化(滑动不加载,停止滑动加载)

Android ListView 全面优化

ListView的ScrollBar设置

Android中ListView异步加载图片错位重复闪烁问题分析及解决方案

使用Lrucache,图片滑动时使用默认图片,停止时加载

关于fresco加载图片的缓存设置及列表加载等