Android RecyclerView中映像后的缓慢应用程序

Android RecyclerView中映像后的缓慢应用程序,android,Android,我的应用程序工作正常,但在我将调整大小的图像包含在RecyclerView中后速度变得非常慢,为什么会发生这种情况 public class AlunoAdapter extends RecyclerView.Adapter<AlunoAdapter.AlunoViewHolder> { private List<Aluno> alunos; private Context context; private static ItemClickList

我的应用程序工作正常,但在我将调整大小的图像包含在RecyclerView中后速度变得非常慢,为什么会发生这种情况

public class AlunoAdapter extends RecyclerView.Adapter<AlunoAdapter.AlunoViewHolder> {
    private List<Aluno> alunos;
    private Context context;
    private static ItemClickListener clickListener;
    private static LongItemClickListener longItemClickListener;

    public AlunoAdapter(List<Aluno> Alunos, Context context) {
        this.alunos = Alunos;
        this.context = context;
    }

    @Override
    public AlunoViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.aluno_celula, parent, false);
        return new AlunoViewHolder(view);
    }

    @Override
    public void onBindViewHolder(AlunoViewHolder holder, int position) {
        Aluno aluno = alunos.get(position);
        holder.nome.setText(aluno.getNome());

        if (aluno.getFoto() != null) {
            Bitmap fotoAluno = BitmapFactory.decodeFile(aluno.getFoto());//
            Bitmap fotoReduz = Bitmap.createScaledBitmap(fotoAluno, 100, 100, true);

            holder.foto.setImageBitmap(fotoReduz);//    
        } else {
            Drawable semFoto = context.getResources().getDrawable(R.drawable.ic_no_image3);
            holder.foto.setImageDrawable(semFoto);
        }    
    }

    @Override
    public int getItemCount() {
        return alunos.size();
    }

    public void setClickListener(ItemClickListener itemClickListener) {
        clickListener = itemClickListener;
    }    

    public void setLongItemClickListenerClickListener(LongItemClickListener longItemClickListenerClickListener) {
        longItemClickListener = longItemClickListenerClickListener;
    }


    public class AlunoViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
        final TextView nome;
        final ImageView foto;//

        public AlunoViewHolder(View view) {
            super(view);
            nome = (TextView) view.findViewById(R.id.nome);
            foto = (ImageView) view.findViewById(R.id.fotinha);//

            view.setOnClickListener(this);
            view.setOnLongClickListener(this);//nao tinha
        }

        @Override
        public void onClick(View view) {
            if (clickListener != null)
                clickListener.onItemClick(view, getAdapterPosition(), false);
        }

        @Override
        public boolean onLongClick(View view) {
            if (longItemClickListener != null)
                longItemClickListener.onItemClick(view, getAdapterPosition());
            return false;
        }
    }   

    public interface ItemClickListener {
        void onItemClick(View view, int position, boolean b);    
    }

    public interface LongItemClickListener {   
        boolean onItemClick(View view, int position);
    }  
}
public类AlunoAdapter扩展了RecyclerView.Adapter{
私人名单;
私人语境;
私有静态项clickListener clickListener;
私有静态LongItemClickListener LongItemClickListener;
公共AlunoAdapter(列出Alunos、上下文){
这个.alunos=alunos;
this.context=上下文;
}
@凌驾
public AlunoViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图=LayoutFlater.from(上下文)。充气(R.layout.aluno_celula,父项,false);
返回新的AlunoViewHolder(视图);
}
@凌驾
BindViewHolder上的公共无效(AlunoViewHolder holder,内部位置){
Aluno Aluno=alunos.get(位置);
holder.nome.setText(aluno.getNome());
if(aluno.getFoto()!=null){
Bitmap fotoAluno=BitmapFactory.decodeFile(aluno.getFoto())//
Bitmap fotoReduz=Bitmap.createScaledBitmap(fotoAluno,100100,true);
holder.foto.setImageBitmap(fotoReduz);//
}否则{
Drawable semFoto=context.getResources().getDrawable(R.Drawable.ic_no_image3);
支架。foto。可设置图像绘制(semFoto);
}    
}
@凌驾
public int getItemCount(){
返回alunos.size();
}
public void setClickListener(项ClickListener项ClickListener){
clickListener=itemClickListener;
}    
公共无效集LongItemClickListener ClickListener(LongItemClickListener LongItemClickListener ClickListener){
longItemClickListener=longItemClickListener ClickListener;
}
公共类AlunoViewHolder扩展了RecyclerView.ViewHolder实现了View.OnClickListener、View.OnLongClickListener{
最终文本视图nome;
最终图像视图foto//
公共AlunoViewHolder(视图){
超级(视图);
nome=(TextView)view.findViewById(R.id.nome);
foto=(ImageView)view.findviewbyd(R.id.fotinha)//
view.setOnClickListener(这个);
view.setOnLongClickListener(this);//nao tinha
}
@凌驾
公共void onClick(视图){
如果(clickListener!=null)
单击listener.onItemClick(视图,getAdapterPosition(),false);
}
@凌驾
仅长按公共布尔值(视图){
if(longItemClickListener!=null)
longItemClickListener.onItemClick(视图,getAdapterPosition());
返回false;
}
}   
公共接口项ClickListener{
void onItemClick(视图、int位置、布尔b);
}
公共接口LongItemClickListener{
布尔值单击(视图,int位置);
}  
}

我是Android编程的初学者,我一定是实现了一些错误。

您可以使用Glid库在Android中平滑加载图像

请参考下面的链接以了解该库

您能测试一下这个吗
fotoReduz.getByteCount()