Java 如何获取设备规范(ram-存储-cpu)库或api Android

Java 如何获取设备规范(ram-存储-cpu)库或api Android,java,android,android-activity,Java,Android,Android Activity,我需要获得Android设备规范(ram-存储-cpu-分辨率),是否存在API或库???,谢谢您的帮助 public void getCpuInfo() { try { Process proc = Runtime.getRuntime().exec("cat /proc/cpuinfo"); InputStream is = proc.getInputStream(); TextView tv = (TextView)findViewB

我需要获得Android设备规范(ram-存储-cpu-分辨率),是否存在API或库???,谢谢您的帮助

public void getCpuInfo() {
    try {
        Process proc = Runtime.getRuntime().exec("cat /proc/cpuinfo");
        InputStream is = proc.getInputStream();
        TextView tv = (TextView)findViewById(R.id.tvcmd);
        tv.setText(getStringFromInputStream(is));
    } 
    catch (IOException e) {
        Log.e(TAG, "------ getCpuInfo " + e.getMessage());
    }
}

public void getMemoryInfo() {
    try {
        Process proc = Runtime.getRuntime().exec("cat /proc/meminfo");
        InputStream is = proc.getInputStream();
        TextView tv = (TextView)findViewById(R.id.tvcmd);
        tv.setText(getStringFromInputStream(is));
    } 
    catch (IOException e) {
        Log.e(TAG, "------ getMemoryInfo " + e.getMessage());
    }
}

private static String getStringFromInputStream(InputStream is) {
    StringBuilder sb = new StringBuilder();
    BufferedReader br = new BufferedReader(new InputStreamReader(is));
    String line = null;

    try {
        while((line = br.readLine()) != null) {
            sb.append(line);
            sb.append("\n");
        }
    } 
    catch (IOException e) {
        Log.e(TAG, "------ getStringFromInputStream " + e.getMessage());
    }
    finally {
        if(br != null) {
            try {
                br.close();
            } 
            catch (IOException e) {
                Log.e(TAG, "------ getStringFromInputStream " + e.getMessage());
            }
        }
    }       

    return sb.toString();
}
如果希望以像素为单位显示尺寸,可以使用getSize:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
此方法是在Android API 13中引入的,因此,如果您想获取以前API的显示指标,请使用:

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int wwidth = displaymetrics.widthPixels;
如果您不在活动中,您可以通过WINDOW_服务获得默认显示。还要确保在AndroidManifest.xml中将minSdkVersion至少设置为4,以启用对display.getWidth()的调用


希望它能对您有所帮助。我不知道任何库或api。

ok:)谢谢,对于la分辨率,我不知道为什么不显示1776*1080而不是1900*1080。您可以告诉我您使用的sdk版本。如果这个答案有助于您接受它,以帮助其他人。
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int width = display.getWidth();  // deprecated
int height = display.getHeight();