Oi tenho um B.O aqui, eu pego as images das capas das musicas daqui e mando po Glide, mas quando eu desço rápido a lista de musica ele começa a enroscar pois é muita capa de musica para carregar
OBS: já tentei diminuir a qualidade das imagens que chegam no glide, “deixei elas um borrão de tao ruim” mas mesmo assim fica travando rolar a lista rápido.
Definitivamente as images tem que ser baixadas no smart, e depois carregada para aumentar a velocidade eu acho
#se tiverem dicas eu agradeço!
private static Bitmap getAlbumArtFromMP3File(String path) {
Bitmap bitmap = null;
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
try {
retriever.setDataSource(path);
byte[] art = retriever.getEmbeddedPicture();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
if (art != null) {
bitmap= BitmapFactory.decodeByteArray(art, 0, art.length, options);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
retriever.release();
} catch (Exception e2) {
e2.printStackTrace();
}
}
return bitmap;
}
===
É aqui ques as capas das musicas chegam para serem exibidas!
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, final int position) {
holder.file_name.setText(mFiles.get(position).getTitle());
Bitmap image = getAlbumArtFromMP3File(mFiles.get(position).getPatch());
if (image != null) {
Glide.with(mContext).asBitmap()
.load(image)
.into(holder.album_art) ;
} else {
Glide.with(mContext)
.load(R.drawable.img_music)
.into(holder.album_art);
}