Android RecyclerViewスライド時の画像ロードの最適化

1898 ワード

RecyclerViewスライド時の最適化処理
スライド時に画像のロードを停止する、スライド停止時に画像のロードを開始する、ここではGlideを用いる.これはGlideです.resume.ここでは,繰返し設定によるオーバーヘッドの増加を避けるために,フラグ変数を設定して判断する.
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);
  }
});