我试图懒我的drawabale文件夹中加载我的图像到网格视图。但似乎setImageDrawable放慢了向下滚动。懒惰从gridview中的绘图加载图像
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView anImageView;
if(convertView == null){
anImageView = new ImageView(mContext);
anImageView.setLayoutParams(new GridView.LayoutParams(70, 70));
anImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
} else {
anImageView = (ImageView) convertView;
}
anImageView.setImageDrawable(...);
return anImageView;
}
任何人都可以帮忙吗?
您是否使用已加载的图像设置绘图?或者,您是否在运行时从您的/ res /文件夹中提取每个图像?或者,您是一次加载互联网上的每张图片吗?我假设你已经完成了剖析,知道setImageDrawable是缓慢的部分,它实际上并不在其他地方? – Martin
我在运行时将res文件夹中的每个图像都带出来。所有图像都在可绘制文件夹中。无网络调用。我应该创建一个异步任务来创建drawable并将drawable传递给gridviewadapater?不,不分析。我刚刚在网上阅读过,其他人在使用getView方法中使用setImageDrawable将一堆图像加载到gridview中时遇到了同样的问题 – n3wb