2012-03-26 70 views

回答

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) 
    {  
    } 
    } 

当你阅读这个文件,你将获得总内存在第一行,如:

MemTotal:   94096 kB 
0

availMem should tell you the total available memory on the system.

您可以使用它像:

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

希望它能帮助!

+0

我期待到RAM的总ammount的安装 – opc0de 2012-03-26 09:45:47

+0

什么此链接:http://stackoverflow.com/questions/7374246/android-how-get-total-ram-size-of-device – 2012-03-26 09:56:54

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