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=0; i < files.length; i++) {
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;
}
}
}