问题描述
我正在尝试制作一个包含来自存储或网络的无限图像的应用。但是问题是recyclerview卡住或滚动非常缓慢。
我如何在我的应用(如图库)中列出图像列表,Whats App,Instagram等?
我想非常流畅地运行我的应用程序
请帮助我!
适配器代码:
public class Recyclerview1Adapter extends RecyclerView.Adapter<Recyclerview1Adapter.ViewHolder> {
ArrayList<HashMap<String,Object>> _data;
public Recyclerview1Adapter(ArrayList<HashMap<String,Object>> _arr) {
_data = _arr;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) {
LayoutInflater _inflater = (LayoutInflater)getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View _v = _inflater.inflate(R.layout.custom,null);
return new ViewHolder(_v);
}
@Override
public void onBindViewHolder(ViewHolder _holder,final int _position) {
View _view = _holder.itemView;
final LinearLayout linear1 = (LinearLayout) _view.findViewById(R.id.linear1);
final ImageView imageview1 = (ImageView) _view.findViewById(R.id.imageview1);
final TextView textview1 = (TextView) _view.findViewById(R.id.textview1);
textview1.setText(_data.get((int)_position).get("image-name").toString());
imageview1.setimageBitmap(FileUtil.decodeSampleBitmapFromPath(_data.get((int)_position).get("image-path").toString(),1024,1024));
}
@Override
public int getItemCount() {
return _data.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
public ViewHolder(View v){
super(v);
}
}
}
解决方法
您需要使用适当的说明清楚地说明问题。
据我了解,您正在一次获取所有图像,并将它们传递给recyclerview适配器。如果图像很多,可能会导致滚动问题。
您需要在运行时使用分页加载有限的图像。仅当用户到达recyclerview结束时才加载新图像。
请查看官方分页documentation或此GitHub library。