Android Как получить общую память памяти в устройстве?
Я могу получить полную доступную память:
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
memoryInfo.availMem;
Однако как вы получаете Total memory (RAM) устройства?
Я читал:
Как узнать использование памяти приложения в Android?
Кажется, что добавление pidMemoryInfo.getTotalPss() также дает мне полную память.
Ответы
Ответ 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, ОЗУ для процессора основной полосы частот и т.д.