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

Java 以编程方式查找Android系统信息,java,android,Java,Android,我试图通过编程查找Android设备的系统信息,具体如下: 公羊 CPU速度 #核心、架构等 是否有指定此信息的Android类。我一直在使用android.board库,但它似乎并没有我想要的一切。您可以从/proc/cpuinfo文件中获得所需的大部分信息。以下是有关如何加载和解析该文件的教程: 此外,有关RAM的信息可以从/proc/meminfo文件中获得。让我告诉您我做了什么,以便访问此线程的其他人可以了解以下步骤: 1) parse/proc/meminfo命令。您可以在此处找到

我试图通过编程查找Android设备的系统信息,具体如下:

  • 公羊
  • CPU速度
  • #核心、架构等

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

您可以从
/proc/cpuinfo
文件中获得所需的大部分信息。以下是有关如何加载和解析该文件的教程:


此外,有关RAM的信息可以从
/proc/meminfo
文件中获得。让我告诉您我做了什么,以便访问此线程的其他人可以了解以下步骤:

1) parse/proc/meminfo命令。您可以在此处找到参考代码: 2) 使用以下代码并获取当前RAM:

MemoryInfo mi = new MemoryInfo();
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.availMem / 1048576L;

注意:请注意-我们只需要计算一次总内存。因此,在代码中只调用点1一次,然后,您可以重复调用点2的代码。

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。它提供有关已用ram的信息。而且是热的。所以答案是不正确的。