我正在尝试使用Recycler视图和Sub Sampling图库实现图库应用程序。 由于我的图片数量大约为850.当我尝试将图片加载到图库中时,图库滞后。当我尝试从SD卡(Android Recyclerview)中加载图片时,我的图库存在很多问题
这里是我的Recyclerview适配器: -
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.RecyclerViewHolders> {
private ArrayList<String> yeniliste;
private Context context;
public RecyclerViewAdapter(Context context, ArrayList<String> itemList) {
this.yeniliste = itemList;
this.context = context;
}
@Override
public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) {
View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.gallery_item, null);
RecyclerViewHolders rcv = new RecyclerViewHolders(layoutView);
return rcv;
}
@Override
public void onBindViewHolder(final RecyclerViewHolders holder, final int position) {
try {
Bitmap bitmap = BitmapFactory.decodeFile(yeniliste.get(position));
holder.countryPhoto.setImage(ImageSource.bitmap(bitmap).dimensions(50,50));
}catch (Exception e){
e.printStackTrace();
}
holder.countryPhoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(),GalleryFullImage.class);
intent.putExtra("realid",String.valueOf(holder.getAdapterPosition()));
v.getContext().startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return this.yeniliste.size();
}
public static class RecyclerViewHolders extends RecyclerView.ViewHolder implements View.OnClickListener{
public SubsamplingScaleImageView countryPhoto;
public RecyclerViewHolders(View itemView) {
super(itemView);
countryPhoto = (SubsamplingScaleImageView)itemView.findViewById(R.id.country_photo);
}
@Override
public void onClick(View view) {
Toast.makeText(view.getContext(), "Clicked Country Position = " + getAdapterPosition(), Toast.LENGTH_SHORT).show();
}
}
public void removeItem(int position)
{
yeniliste.remove(position);
notifyDataSetChanged();
}}
这可能需要太长时间:“位图位图= BitmapFactory.decodeFile(yeniliste.get(position));”尝试使用像毕加索或滑翔的图书馆。主要原因在于正在主线程中完成。如果你不想使用库,那么你需要在不同的线程中执行该操作 –
我试过用picasso加载,但图像不加载 –
您是否试过滑行:https://stackoverflow.com/questions/34443171 /负载图像从-SD-卡使用滑行。你可以检查此情况下的毕加索:https://stackoverflow.com/questions/24097576/how-to-load-image-from-sd-card-using-picasso-library –