2010-10-22 7 views
17

puedo conseguir la memoria total disponible por:Android ¿Cómo se obtiene la memoria RAM total en el dispositivo?

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); 
activityManager.getMemoryInfo(memoryInfo); 
memoryInfo.availMem; 

Sin embargo, ¿cómo se consigue la memoria total (RAM) del dispositivo?

leí: How do I discover memory usage of my application in Android?

No parece como la adición de pidMemoryInfo.getTotalPss() me da la memoria total tampoco.

+0

Supongo que puede hacerlo de esta manera 'memoryInfo.totalMem' –

Respuesta

14

Prueba esto funciona para mí.

public static String getTotalRAM() { 
    RandomAccessFile reader = null; 
    String load = null; 
    try { 
     reader = new RandomAccessFile("/proc/meminfo", "r"); 
     load = reader.readLine(); 
    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } finally { 
     // Streams.close(reader); 
    } 
    return load; 
} 
+0

esto no funciona en nota 3. – user65721

+0

no, esto no le da ningún tamaño de memoria a la memoria RAM, entonces imprime el objeto de cadena como "reader is == [email protected]" –

+1

¿por qué comentar la limpieza? –

3

Si no encuentra otra cosa, se podría pasar por alto androide y leer/proc/meminfo que es lo que el comando 'libre' en una distribución Linux más ordinaria hace

3

La clase MemoryInfo ha agregado totalMem en API 16. Por favor, inténtelo.

public long totalMem Agregado en el nivel API 16 La memoria total accesible por el kernel. Este es básicamente el tamaño de RAM del dispositivo, sin incluir asignaciones fijas inferiores al núcleo como búferes DMA, RAM para la CPU de banda base, etc.

Cuestiones relacionadas