outofmemoryerror example android performance bitmap resize imageview

example - picasso android



¿Debo cambiar el tamaño del mapa de bits antes de agregarlo a ImageView o dejar que ImageView cambie el tamaño del mapa de bits? (4)

Tengo una pregunta simple: ¿debo cambiar el tamaño de un mapa de bits más grande antes de agregarlo a ImageView o dejar que ImageView cambie el tamaño del mapa de bits? ¿Cuál es la forma correcta de rendimiento?

Gracias


Considere usar la escala para ImageView, y no se moleste en cambiar el tamaño. Puede escalar una imagen como esta, por ejemplo:

image.setAdjustViewBounds(true); image.setMaxHeight(50); image.setMaxWidth(50); image.setScaleType(ImageView.ScaleType.CENTER_INSIDE);


Cuanto más grande sea la imagen, mayor será el tamaño, no creo que el rendimiento se vea realmente afectado, sino que mantendrá las cosas más eficientes.

También puede colocar imágenes de diferentes tamaños en las diferentes carpetas para diferentes resoluciones:

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

Compatible con pantallas de diferentes tamaños


Puedes hacer esto:

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));


podemos cambiar el tamaño del mapa de bits existente a cualquier tamaño usando bitmap.createScaledBitmap use el siguiente código.

bmp=Bitmap.createScaledBitmap(bmp,destBitmapWith, destBitmapHeight,true);