アプリをサーバーに接続しましたが、写真の読み込みが非常に遅いようで、上下にスクロールすると、画像をもう一度読みたいと思っています。これは私のグライドのアダプターです:
DataAdapter:
public class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> {
private Context context;
private ArrayList<AndroidVersion> Android;
public DataAdapter(Context context,ArrayList<AndroidVersion> Android) {
this.context = context;
this.Android = Android;
}
@Override
public DataAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.card_row, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(DataAdapter.ViewHolder viewHolder, int i) {
viewHolder.tv_name.setText(Android.get(i).getName());
viewHolder.tv_version.setText(Android.get(i).getVer());
viewHolder.tv_api_level.setText(Android.get(i).getApi());
// load image into imageview using glide
Glide.with(context).load("http://memaraneha.ir/Erfan/images/"+Android.get(i).getPic())
.placeholder(R.drawable.truiton)
.error(R.drawable.truiton)
.into(viewHolder.tv_image);
}
@Override
public int getItemCount() {
return Android.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
private TextView tv_name,tv_version,tv_api_level;
public ImageView tv_image;
public ViewHolder(View view) {
super(view);
tv_name = (TextView)view.findViewById(R.id.tv_name);
tv_version = (TextView)view.findViewById(R.id.tv_version);
tv_api_level = (TextView)view.findViewById(R.id.tv_api_level);
tv_image= (ImageView) view.findViewById(R.id.img);
}
}
}
誰かが助けることができるならそれをしてください!
URL
から画像を取得するときにこれを追加するだけで、このコードはその画像のサイズを縮小します
あなたもこれを行うことができます、
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
//save scaled down image to cache dir
newBitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
File imageFile = new File(filePath);
// write the bytes in file
FileOutputStream fo = new FileOutputStream(imageFile);
fo.write(bytes.toByteArray());
チェック この例
dontTransform()
メソッドを使用しましたが、ほとんど1秒節約できました。画像は本当に最初にリストにロードされます。
diskCacheStrategy(DiskCacheStrategy.ALL)を使用します。
詳細については、こちらをご覧ください ここをクリック