我想制作一个网格视图来显示sdcard文件夹中照片的缩略图。 图像分辨率为3264x2448。我用Notras通用图像装载机LIB与配置:如何以缩略图大小加载图像(来自SD卡)更快?
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub)
.showImageForEmptyUri(R.drawable.stub)
.imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)
.showImageOnFail(R.drawable.ic_launcher).cacheInMemory()
.cacheOnDisc().bitmapConfig(Bitmap.Config.RGB_565).build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
context).defaultDisplayImageOptions(options).build();
而且getView()在我的自定义适配器:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ImageView imageView;
if (convertView == null) {
imageView = (ImageView) mInflater.inflate(R.layout.grid_item,
parent, false);
} else {
imageView = (ImageView) convertView;
}
mImageLoader.displayImage(mListData.get(position), imageView, options);
return imageView;
}
但它加载图像太慢。 所以请帮助我更快加载缩略图。我不想显示高质量的图像,我只想快速显示。
在此先感谢。
UIL版本:1.8.4 Android版本上测试:2.3.3
使用一个viewholder进行平滑滚动和性能。 http://developer.android.com/training/improving-layouts/smooth-scrolling.html – Raghunandan
@Raghunandan因为我的项目布局只包含一个ImageView,所以我没有使用ViewHolder,我认为这不会使图像加载速度变慢。 – VAdaihiep
@VAdaihiep你可以请告诉我如何加载通用图像加载器的SD卡图像,我试过但错误显示像UIL默认不支持scheme(协议)[/mnt/sdcard/images/Adhisayam_2012/DSC_0122.jpg]。你应该自己实现这个支持(BaseImageDownloader.getStreamFromOtherSource(...))请帮助我.. – kalandar