Bitmap bitmap = BitmapFactory.decodeFile(fileName);
Una opción que en mis proyectos ha funcionado es implementar este método de la siguiente forma:private Bitmap decodeFile(File f){
try {
//Decode image size
BitmapFactory.Options o=new BitmapFactory.Options();
o.inSampleSize = 8;
o.inJustDecodeBounds = true;
BitmapFactory.decodeStream(new FileInputStream(f),null,o);
//The new size we want to scale to
final int REQUIRED_SIZE=70;
//Find the correct scale value. It should be the power of 2.
int scale=1;
while(o.outWidth/scale/2>=REQUIRED_SIZE && o.outHeight/scale /2>=REQUIRED_SIZE)
scale*=2;
//Decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize=scale;
return BitmapFactory.decodeStream(new FileInputStream(f), null, o2);
} catch (FileNotFoundException e) {}
return null;
}
Esta función, funciona en la mayoría de los casos y terminales. En caso que tengáis algun problema, se puede solucionar cambiando los valores de los parámetros:
- o.inSampleSize;
- REQUIRED_SIZE;
It works!
Roger Sala,
Este comentario ha sido eliminado por un administrador del blog.
ResponderEliminarcuando uso muchos image view se me produce este error y la app se me cierra.
ResponderEliminarMe podrias ayudar a que no tenga ese molesto error ?