如何解决如何仅在屏幕上在RecyclerView中加载图像时才在imageview中加载图像
我正在尝试制作一个包含来自存储或网络的无限图像的应用。但是问题是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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。