【发布时间】:2013-05-24 12:42:45
【问题描述】:
我想制作一个网格视图来显示 sdcard 文件夹中照片的缩略图。 图像分辨率为 3264x2448。我使用带有配置的 Notras 通用图像加载器库:
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 测试的安卓版本:2.3.3
【问题讨论】:
-
使用查看器来实现平滑滚动和性能。 developer.android.com/training/improving-layouts/…
-
@Raghunandan 因为我的项目布局只包含一个 ImageView 所以我不使用 ViewHolder,我认为这不会使图像加载速度变慢。
-
@VAdaihiep 你能告诉我如何在通用图像加载器中加载 sdcard 图像,我试过但错误显示,如 UIL 默认不支持方案(协议)[/mnt/sdcard/images/ Adhisayam_2012/DSC_0122.jpg]。你应该自己实现这个支持(BaseImageDownloader.getStreamFromOtherSource(...))请帮帮我..
-
使用很简单:universalImageLoader.displayImage(imageUri, imageView);我认为您的 imageUri 开头没有“file://”。它应该是 file://mnt/sdcard/images/Adhisayam_2012/DSC_0122.jpg
标签: android gridview gallery universal-image-loader