如何减少Android RecyclerVIew中项目点击时的操作延迟?

如何减少Android RecyclerVIew中项目点击时的操作延迟?,android,android-recyclerview,android-bitmap,androidimageslider,Android,Android Recyclerview,Android Bitmap,Androidimageslider,我有一个RecyclerView,当我点击这个项目时,它会显示一个imageSlider,其中有一些图像(只有2或3个)。一切正常,但点击时有点延迟,需要2秒钟,这很烦人?我怎样才能修好它 这是从位图数组加载图像的滑块代码: public class ImageAdapter extends PagerAdapter { private Context context; private ArrayList<Bitmap> bitmaps; public I

我有一个
RecyclerView
,当我点击这个项目时,它会显示一个
imageSlider
,其中有一些图像(只有2或3个)。一切正常,但点击时有点延迟,需要2秒钟,这很烦人?我怎样才能修好它

这是从位图数组加载图像的滑块代码:

public class ImageAdapter extends PagerAdapter {

    private Context context;
    private ArrayList<Bitmap> bitmaps;

    public ImageAdapter(Context context, ArrayList<Bitmap> bitmaps) {
        this.context = context;
        this.bitmaps = bitmaps;
    }

    @Override
    public int getCount() {
        return bitmaps.size();
    }


    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
        return view == o;
    }



    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((ImageView) object);
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {

        ImageView imageView = new ImageView(context);
        Glide.with(container)
                .asBitmap()
                .centerCrop()
                .load(bitmaps.get(position))
                .into(imageView);

        container.addView(imageView,0);
        return imageView;

    }
}
公共类ImageAdapter扩展了PagerAdapter{
私人语境;
私有ArrayList位图;
公共ImageAdapter(上下文上下文、ArrayList位图){
this.context=上下文;
this.bitmaps=位图;
}
@凌驾
public int getCount(){
返回位图。size();
}
@凌驾
公共布尔值isViewFromObject(@NonNull视图,@NonNull对象o){
返回视图==o;
}
@凌驾
public void destructionItem(@NonNull视图组容器,int位置,@NonNull对象){
container.removeView((ImageView)对象);
}
@非空
@凌驾
公共对象实例化项(@NonNull视图组容器,int位置){
ImageView ImageView=新的ImageView(上下文);
滑翔(集装箱)
.asBitmap()
.centerCrop()
.load(位图.get(位置))
.进入(图像视图);
container.addView(imageView,0);
返回图像视图;
}
}
位图缩放:

Bitmap bitmap = Bitmap.createScaledBitmap(yourBitmap, 100, 100, false);

Bitmap bitmap = Bitmap.createBitmap(yourBitmap, width, height, Bitmap.Config.ARGB_8888);
或使用滑翔:

Glide.with(context).asBitmap().load(yourBitmap).apply(new RequestOptions().placeholder(placeHolderDrawable).error(errorDrawable).override(width, height)).into(yourImageView);

您正在单击加载一些图像。延迟是正常的。您应该做的是降低位图大小。无论你能做什么来加快加载时间。不过,不要在单击之前加载它们,让它在单击之后加载click@Shahin谢谢你的回答。如何降低位图的大小?有很多方法可以降低位图的大小。您可以使用Glide库。或者你可以使用androids内置的位图工具,我会把它放在你的答案中