Glide暫停加載:
Glide.with(context).pauseRequests();
Glide恢復加載:
Glide.with(context).resumeRequests();
配合RecyclerView使用, 只需監(jiān)聽滑動狀態(tài)的變化
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
switch (newState){
case SCROLL_STATE_IDLE: // The RecyclerView is not currently scrolling.
//當屏幕停止?jié)L動,加載圖片
try {
if(getContext() != ) Glide.with(getContext()).resumeRequests();
}
catch (Exception e) {
e.printStackTrace();
}
break;
case SCROLL_STATE_DRAGGING: // The RecyclerView is currently being dragged by outside input such as user touch input.
//當屏幕滾動且用戶使用的觸碰或手指還在屏幕上,停止加載圖片
try {
if(getContext() != ) Glide.with(getContext()).pauseRequests();
}
catch (Exception e) {
e.printStackTrace();
}
break;
case SCROLL_STATE_SETTLING: // The RecyclerView is currently animating to a final position while not under outside control.
//由于用戶的操作,屏幕產(chǎn)生慣性滑動,停止加載圖片
try {
if(getContext() != ) Glide.with(getContext()).pauseRequests();
}
catch (Exception e) {
e.printStackTrace();
}
break;
}
}