Считать общее количество оперативной памяти на устройстве Android с помощью / proc / meminfo

Я изучаю общее количество физического ОЗУ на устройстве Android.

Я понимаю, что эта информация хранится в / proc / meminfo.

как я могу это прочитать?

Ответы на вопрос(3)

Решение Вопроса

попробуй это :

   public void getTotalMemory() {  
    {
    String str1 = "/proc/meminfo";
    String str2;        
    String[] arrayOfString;
    long initial_memory = 0;
    try {
    FileReader localFileReader = new FileReader(str1);
    BufferedReader localBufferedReader = new BufferedReader(    localFileReader, 8192);
    str2 = localBufferedReader.readLine();//meminfo
    arrayOfString = str2.split("\\s+");
    for (String num : arrayOfString) {
    Log.i(str2, num + "\t");
    }
    //total Memory
    initial_memory = Integer.valueOf(arrayOfString[1]).intValue() * 1024;   
    localBufferedReader.close();
    } 
    catch (IOException e) 
    {       
    }
  }  

когда вы прочитаете этот файл, вы получите Total Memory в первой строке, например:

MemTotal:          94096 kB

utilMem должен сообщить вам общий объем доступной памяти в системе.

Вы можете использовать это так:

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
MemoryInfo mi = new MemoryInfo();
activityManager.getMemoryInfo(mi);
Log.d("FreeRam: ", "" + mi.availMem);

Надеюсь, это поможет!

 Chris Conway26 мар. 2012 г., 11:56
Как насчет этой ссылки:stackoverflow.com/questions/7374246/...
 opc0de26 мар. 2012 г., 11:45
я смотрю на общее количество установленных оперативной памяти
public long getTotalMemory() {
    String str1 = "/proc/meminfo";
    String str2="";
    String[] arrayOfString;
    long initial_memory = 0, free_memory = 0;
    try {
        FileReader localFileReader = new FileReader(str1);
        BufferedReader localBufferedReader = new BufferedReader(
            localFileReader, 8192);
        for (int i = 0; i < 2; i++) {
            str2 =str2+" "+ localBufferedReader.readLine();// meminfo  //THIS WILL READ meminfo AND GET BOTH TOT MEMORY AND FREE MEMORY eg-: Totalmemory 12345 KB //FREEMEMRY: 1234 KB  
        }
        arrayOfString = str2.split("\\s+");
        for (String num : arrayOfString) {
            Log.i(str2, num + "\t");
        }
        // total Memory
        initial_memory = Integer.valueOf(arrayOfString[2]).intValue();
        free_memory = Integer.valueOf(arrayOfString[5]).intValue();

        localBufferedReader.close();
    } catch (IOException e) {
    }
    return ((initial_memory-free_memory)/1024);
}

Ваш ответ на вопрос