我試圖找到編程爲Android設備的系統信息,具體包括:編程發現Android系統的信息
- RAM
- CPU速度
- #內核,建築等
是否有任何Android類指定此信息。我一直在使用android.board庫,但它似乎沒有我想要的所有東西。
我試圖找到編程爲Android設備的系統信息,具體包括:編程發現Android系統的信息
是否有任何Android類指定此信息。我一直在使用android.board庫,但它似乎沒有我想要的所有東西。
讓我告訴你我做了什麼來獲得有關RAM的信息,以便其他人誰訪問這個線程來了解步驟:
1)解析/ proc/meminfo命令。你可以在這裏找到參考代碼: Get Memory Usage in Android 2)使用下面的代碼,並獲取當前RAM:
MemoryInfo mi = new MemoryInfo();
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.availMem/1048576L;
注:請注意 - 我們需要計算的總內存只有一次。所以在你的代碼中只需要調用一次點1,然後再重複調用點2的代碼。
您可以從/proc/cpuinfo
文件中獲得大部分想要的信息。這裏是如何加載和解析文件教程:http://www.roman10.net/how-to-get-cpu-information-on-android/
另外可以從/proc/meminfo
文件
Agarwal的回答非常有幫助。只好修改了一下,因爲我沒有計算活動的可用內存,但傳遞應用程序上下文的系統程序文件:
從主要活動:
public class MyActivity extends Activity {
...
public void onCreate(Bundle savedInstanceState) {
...
MySystemUtils systemUtils = new MySystemUtils(this); // initializations
...
}
}
在SystemUtils文件:
MySystemUtils (Context appContext) { // called once from within onCreate
MemoryInfo mi = new MemoryInfo();
ActivityManager activityManager = ActivityManager)appContext.getSystemService(Activity.ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.availMem/1048576L;
}
這是獲取當前設備RAM大小的代碼片段。
ActivityManager actManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
MemoryInfo memInfo = new ActivityManager.MemoryInfo();
actManager.getMemoryInfo(memInfo);
long totalMemory = memInfo.totalMem;
meminfo不會給你完整安裝的內存。它爲您提供有關使用的RAM的信息。並用它熱。所以答案是不正確的。 – drdrej 2014-03-19 12:26:22