usar swapper memoria como aumentar 1gb android size ram

swapper - memoria ram android 8



¿Cómo obtener el tamaño total de RAM de un dispositivo? (4)

Quiero obtener el tamaño de RAM completo de un dispositivo. memoryInfo.getTotalPss() devuelve 0. No hay ninguna función para obtener el tamaño total de RAM en ActivityManager.MemoryInfo .

¿Como hacer esto?


A partir del nivel 16 de API, ahora puede usar la propiedad totalMem de la clase MemoryInfo .

Me gusta esto:

ActivityManager actManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo(); actManager.getMemoryInfo(memInfo); long totalMemory = memInfo.totalMem;

Api nivel 15 e inferior aún requiere usar el comando unix como se muestra en la respuesta de cweiske .


Comando Unix estándar: $ cat /proc/meminfo

Tenga en cuenta que /proc/meminfo es un archivo. En realidad no tienes que ejecutar cat , simplemente puedes leer el archivo.


Puede obtener el tamaño total de RAM usando este código:

var activityManager = GetSystemService(Activity.ActivityService) as ActivityManager; var memoryInfo = new ActivityManager.MemoryInfo(); activityManager.GetMemoryInfo(memoryInfo); var totalRam = memoryInfo.TotalMem / (1024 * 1024);

Si el dispositivo tiene 1 GB de RAM, la TotalRam será 1000.


Puedo obtener la memoria RAM utilizable de tal manera

public String getTotalRAM() { RandomAccessFile reader = null; String load = null; DecimalFormat twoDecimalForm = new DecimalFormat("#.##"); double totRam = 0; String lastValue = ""; try { reader = new RandomAccessFile("/proc/meminfo", "r"); load = reader.readLine(); // Get the Number value from the string Pattern p = Pattern.compile("(//d+)"); Matcher m = p.matcher(load); String value = ""; while (m.find()) { value = m.group(1); // System.out.println("Ram : " + value); } reader.close(); totRam = Double.parseDouble(value); // totRam = totRam / 1024; double mb = totRam / 1024.0; double gb = totRam / 1048576.0; double tb = totRam / 1073741824.0; if (tb > 1) { lastValue = twoDecimalForm.format(tb).concat(" TB"); } else if (gb > 1) { lastValue = twoDecimalForm.format(gb).concat(" GB"); } else if (mb > 1) { lastValue = twoDecimalForm.format(mb).concat(" MB"); } else { lastValue = twoDecimalForm.format(totRam).concat(" KB"); } } catch (IOException ex) { ex.printStackTrace(); } finally { // Streams.close(reader); } return lastValue; }

Probado hasta Android 4.3: SAMSUNG S3