我试图找到编程为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