我从服务器获取不同大小的图像并在列表视图中设置但是在保持图像分辨率的同时,一些模糊。我正在使用惰性列表概念加载图像。
Approximate size of my images.
width height
783 435
108 68
320 179
72 54
596 335
下面的方法用于处理图像分辨率。
private Bitmap decodeFile(File f){
try {
//decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeStream(new FileInputStream(f),null,o);
//Find the correct scale value. It should be the power of 2.
final int REQUIRED_SIZE=50;
int width_tmp=o.outWidth, height_tmp=o.outHeight;
int scale=1;
while(true){
if(width_tmp/2<REQUIRED_SIZE || height_tmp/2<REQUIRED_SIZE)
break;
width_tmp/=2;
height_tmp/=2;
scale*=2;
}
//decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize=2;
return BitmapFactory.decodeStream(new FileInputStream(f), null, o2);
} catch (FileNotFoundException e) {}
return null;
}
如果我删除或更改为 o2.inSampleSize = 1 ,那么它将无法在Galaxy SII中使用。
感谢。