我想要显示的10张图片都有400x400左右的尺寸。我在回收视图中加载图像。然而,图像加载和滞后很多我几乎不能滚动。 我收到以下警告
跳过43帧!应用程序可能在其主线程上做了太多工作。
所以这是我的recycleview
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = infator.inflate(R.layout.customerow,parent,false);
MyViewHolder holder = new MyViewHolder(view);
text1.setTypeface(assent);
return holder;
}
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
Information current = data.get(position);
//Picasso.with(context1).load(current.IconId).into(holder.image1);
holder.text1.setText(current.title);
holder.image1.setImageResource(current.IconId);
holder.image1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context1,"Item clicked"+position,Toast.LENGTH_LONG).show();
}
}
);
}
@Override
public int getItemCount() {
return data.size();
}
class MyViewHolder extends RecyclerView.ViewHolder{
public TextView text1;
public ImageView image1;
public MyViewHolder(View itemView) {
super(itemView);
text1 = (TextView)itemView.findViewById(R.id.textView);
image1=(ImageView)itemView.findViewById(R.id.imageView);
}
}
我从drawable加载图片
public static List<Information> getdata(){
List<Information> data=new ArrayList<>();
int[] icons={R.drawable.pa,R.drawable.house_abc,R.drawable.abc_avc,R.drawable.strength_beastmaster,
R.drawable.strength_brewmaster,R.drawable.strength_bristleback,R.drawable.strength_centaur};
我只是在学习,所以你们可以帮助我吗
答案 0 :(得分:0)
我有一个建议,here是关于支持多个屏幕的文档。特别是你应该阅读“替代drawables”。在本文中,您可以找到修饰符,哪些尺寸应具有特定密度的所有图像。您应该缩放所有图像并将它们放到正确的文件夹中。