我将图像加载到ArrayList中,然后使用GridLayout将其设置为RecylerView。图像被加载,一切看起来都很好。但是当我滚动RecylerView时它开始滞后。虽然图像完全加载但滚动时会出现延迟。
我遇到的一些答案是关于延迟加载图像或使用Glide或Picasso库。但是我该如何实现呢? 这是我如何添加图片。
MainActivity:
v0=-(1-0.02^2/2*9.81)/0.02=-49.9019 and x(0.18)=-8.82342
这是我的适配器代码:
int imageArray[] = new int[]{
R.drawable.one,
R.drawable.two, R.drawable.three,
R.drawable.four,R.drawable.five,...
};
private ArrayList prepareData(){
ArrayList arrayList = new ArrayList();
for(int i=0;i<names.length;i++){
MyModel myModel = new MyModel();
myModel.setDrawable(imageArray[i]);
arrayList.add(myModel);
}
return arrayList;
}
答案 0 :(得分:1)
如果您使用Glide,请使用以下代码使用Glide
将可绘制图像加载到imageview中 Glide.with(context).load(R.drawable.yourImage).into(imageView);
其中&#34; context&#34;是你的活动背景 和&#34; imageView&#34;是ImageView的对象
答案 1 :(得分:0)
您还可以使用显示图像的网络调用库的本机代码,如果存在某种滞后现象,您可以在图像视图中添加进度条以获得良好的用户体验,并尝试使用AppCompatImageView而不是布局中的ImageView。
答案 2 :(得分:0)
最好使用Glide或Picasso加载图像。
尝试一下
Glide.with(yourContext).load(imageArray[position]).into(viewHolder.tv_logo);
图像加载将流畅,快速。
您也可以尝试毕加索。
快乐编码:)