Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2011, 01:15
Motki
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 0
OutofMemory BitmapFactory.decodeFile

Estoy haciendo una aplicación para mostrar una galeria de imagenes en pantalla.
El problema es que dependiendo de que directorio cargue la aplicación cuando crea el bitmap que luego utilizo me dá error : OutofMemory...
He puesto de todo para que libere la memoria pero aun así me dá el error...
Alguien puede ayudarme ?


Código PHP:
public class CatalogoActivity extends Activity {
    
/** Called when the activity is first created. */
    
@Override       
    
public void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.main);
 
        
String icon1;
        
int resID1;
 
 
        
Bitmap levelBitmap null;
 
 
       
//////////////////////////////////////////////////////////////////////////////////////////////
        
String ruta;
        
String state Environment.getExternalStorageState();
        
File file = new File(Environment.getExternalStorageDirectory(),"EMPRESAS/IMAGENES/test/");
        
File[] files file.listFiles();  
        
int itmp;
        
itmp=0;
        final 
String[] nombreImgArray = new String[files.length]; 
        
Bitmap[] mBitArray = new Bitmap[files.length]; 
 
        
///// ordenar files /////////
        
Arrays.sort(files);
 
 
 
        for(
int i=0files.lengthi++)  {
            
File fileTmp files[i];
 
            if(
fileTmp.isDirectory()!= true){
                
ruta fileTmp.getPath();
 
 
                
BitmapFactory.Options options=new BitmapFactory.Options(); 
                
options.inDensity =1;
                
options.inJustDecodeBounds true;
                
options.inSampleSize 3
                
byte[] byteArrayForBitmap = new byte[1024*1024];//new byte[48*1024];
                
options.inTempStorage byteArrayForBitmap;
                
options.inJustDecodeBounds false;
 
 
                
levelBitmap BitmapFactory.decodeFile(ruta,options);
 
                
mBitArray[itmp] = levelBitmap;
                
nombreImgArray[itmp] = fileTmp.getName();
                
itmp itmp +1;                 
 
 
            }
 
        }
        } 
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI