我正在执行以下操作来加载低质量图像,然后加载SD中的高质量图像
public void bindView(View view, Context context, Cursor cursor) {
ImageView image = (ImageView) view.findViewById(R.id.ImageView1);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 16;
bMap = BitmapFactory.decodeFile(imageUrl, options);
image.setImageBitmap(bMap);
imageLoader.displayImage("file://" + imageUrl, image);
}
有更好的方法吗?
请注意,首先加载低质量图像是必须的,我尝试了许多其他替代方案,似乎没有像上面那样顺畅。
答案 0 :(得分:0)
您要实现的目标称为interlacing。这意味着当您尝试加载图像时,它会加载跳过几个像素,多次,以便尽可能快地向观看者呈现整体形状。
要使用此功能,您必须对图像进行编码以支持隔行扫描。如果您使用的是GIMP或Adobe Photoshop,它具有内置的功能,可以导出隔行扫描图像(主要是PNG)。
有争议的是,不应使用PNG或GIF隔行扫描,因为图像继续加载时会发生重大变化。有些人不同意这一点。这个选择完全属于你。