Android Как вы получаете общий объем оперативной памяти в устройстве? - PullRequest
17 голосов
/ 22 октября 2010

Я могу получить общий объем доступной памяти:

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

Однако как вы получаете Total memory (RAM) устройства?

Я прочитал: Как обнаружить использование памяти моим приложением в Android?

Не похоже, что добавление pidMemoryInfo.getTotalPss () также дает мне полную память.

Ответы [ 3 ]

15 голосов
/ 28 ноября 2012

Попробуйте, это работает для меня.

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;
}
3 голосов
/ 06 февраля 2013

Класс MemoryInfo добавил totalMem в API 16. Пожалуйста, попробуйте.

public long totalMem Добавлен в API уровень 16 Общий объем памяти, доступный ядру.Это в основном размер ОЗУ устройства, не включая фиксированные выделения ниже ядра, такие как буферы DMA, ОЗУ для ЦП основной полосы и т. Д.

3 голосов
/ 23 октября 2010

Если вы не найдете что-то еще, вы можете обойти android и прочитать / proc / meminfo, что и делает команда 'free' в более обычном дистрибутиве Linux *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...