RecyclerView 滑動(dòng)時(shí)的優(yōu)化處理
在滑動(dòng)時(shí)停止加載圖片,在滑動(dòng)停止時(shí)開始加載圖片,這里用了Glide.pause 和Glide.resume.這里為了避免重復(fù)設(shè)置增加開銷,設(shè)置了一個(gè)標(biāo)志變量來做判斷。
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
if (newState == RecyclerView.SCROLL_STATE_DRAGGING || newState == RecyclerView.SCROLL_STATE_SETTLING) {
sIsScrolling = true;
Glide.with(VipMasterActivity.this).pauseRequests();
} else if (newState == RecyclerView.SCROLL_STATE_IDLE) {
if (sIsScrolling == true) {
Glide.with(VipMasterActivity.this).resumeRequests();
}
sIsScrolling = false;
}
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
}
});