以编程方式查找Android系统信息

时间:2012-04-18 23:44:58

标签: java android

我正在尝试以编程方式查找Android设备的系统信息,具体为:

  • RAM
  • CPU速度
  • #core,architecture等。

是否有任何Android类指定此信息。我一直在使用android.board库,但它似乎没有我想要的一切。

4 个答案:

答案 0 :(得分:11)

让我告诉你我做了什么,所以访问这个帖子的其他人可以知道这些步骤:

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点的代码。

答案 1 :(得分:2)

您可以从/proc/cpuinfo文件中获取所需的大部分信息。以下是有关如何加载和解析该文件的教程:http://www.roman10.net/how-to-get-cpu-information-on-android/

此外,可以从/proc/meminfo文件

获取有关RAM的信息

答案 2 :(得分:2)

以下是获取当前设备RAM大小的代码段。

ActivityManager actManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
MemoryInfo memInfo = new ActivityManager.MemoryInfo();
actManager.getMemoryInfo(memInfo);
long totalMemory = memInfo.totalMem;

答案 3 :(得分:1)

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