Zajímalo by mě, jak měří tu paměť? Javana to sice nabízí API, ale třeba Sony Ericssony (a asi všechny další modely s dostatkem paměti) dynamicky upravují velikost přidělené paměti, takže jediná možnost bude asi:
boolean enoughMemory;
try{
new byte[4*1024*1024];
enoughMemory = true;
}catch(OutOfMemoryError e){
enoughMemory = false;
}