我有一个从服务器加载图像的 RecyclerView。当我滚动时,滚动非常生涩。我正在使用 glide 加载图像我觉得每次滚动回收器视图时都会加载图像。那么任何人都可以请告诉如何停止加载图像onscroll ...
谢谢..
我有一个从服务器加载图像的 RecyclerView。当我滚动时,滚动非常生涩。我正在使用 glide 加载图像我觉得每次滚动回收器视图时都会加载图像。那么任何人都可以请告诉如何停止加载图像onscroll ...
谢谢..
当图像加载完成时,您可能正在做一些奇怪的事情,例如调整视图大小。确保在加载图像时不会触发布局调用或做其他昂贵的事情。几乎总是可以在使用 Glide 加载图像的同时获得相对平滑的滚动。
也就是说,当用户开始/停止滚动时,您可以使用pauseRequests()
andresumeRequests()
停止/开始图像加载:
// Scrolling starts.
Glide.with(fragment).pauseRequests();
...
// Scrolling stops.
Glide.with(fragment).resumeRequests();
Thread t = new Thread(new Runnable() {
@Override
public void run() {
Recyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
Glide.with(MainActivity.this).resumeRequests();
}
if (newState == RecyclerView.SCROLL_STATE_DRAGGING) {
Glide.with(MainActivity.this).pauseRequests();
}
super.onScrollStateChanged(recyclerView, newState);
}
});
}
});
t.start();