Подтвердить что ты не робот

Android Как получить общую память памяти в устройстве?

Я могу получить полную доступную память:

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

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

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

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

4b9b3361

Ответ 1

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

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;
}

Ответ 2

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

Ответ 3

Класс MemoryInfo добавил totalMem в API 16. Просьба попробовать.

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