我有一个简单的问题:我应该调整一个更大的位图之前 添加到ImageView或让ImageView调整位图? 什么是正确的方式,关于性能?我应该在添加到ImageView之前调整位图大小还是让ImageView调整位图大小?
感谢
我有一个简单的问题:我应该调整一个更大的位图之前 添加到ImageView或让ImageView调整位图? 什么是正确的方式,关于性能?我应该在添加到ImageView之前调整位图大小还是让ImageView调整位图大小?
感谢
更大的图像,更大的尺寸,我不认为性能真的会受到影响,但使事情变得高效。
您也可以放置在不同的文件夹不同大小的图像不同分辨率:
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
我们可以调整现有的位图使用bitmap.createScaledBitmap使用下面的代码的任何尺寸。
bmp=Bitmap.createScaledBitmap(bmp,destBitmapWith, destBitmapHeight,true);
正是我在寻找的BitmapFactory返回不可变的位图。 –
你可以这样做:
ImageView imageView = (ImageView) findViewById(R.id.imageView);
imageView.setAdjustViewBounds(true);
imageView.setMaxHeight(imageView.getHeight());
imageView.setMaxWidth(imageView.getWidth());
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
你缩放到一个固定的像素大小(即,. PX),或密度/规模的独立(即DP/SP)的大小? –
要蘸的。我忘记说Bitmap只比ImageViews的高度/宽度大一点,大约10%。 – Benjamin
如果它只是更大一点,只需使用'setScaleType'。如果它的数量级要大一些,我建议在加载过程中/之后缩小原始大小。 – Dave