Android examples for Hardware:Device Feature
Gets the number of cores available in this device, across all processors.
//package com.java2s; import java.io.*; import java.util.regex.Pattern; public class Main { private static int CPU_CORES = 0; /**//from www . ja v a2s . com * Gets the number of cores available in this device, across all processors. * Requires: Ability to peruse the filesystem at "/sys/devices/system/cpu" * * @return The number of cores, or available processors if failed to get result */ public static int getCoresNumbers() { if (CPU_CORES != 0) { return CPU_CORES; } //Private Class to display only CPU devices in the directory listing class CpuFilter implements FileFilter { @Override public boolean accept(File pathname) { //Check if filename is "cpu", followed by a single digit number if (Pattern.matches("cpu[0-9]+", pathname.getName())) { return true; } return false; } } try { //Get directory containing CPU info File dir = new File("/sys/devices/system/cpu/"); //Filter to only list the devices we care about File[] files = dir.listFiles(new CpuFilter()); //Return the number of cores (virtual CPU devices) CPU_CORES = files.length; } catch (Exception e) { e.printStackTrace(); } if (CPU_CORES < 1) { CPU_CORES = Runtime.getRuntime().availableProcessors(); } if (CPU_CORES < 1) { CPU_CORES = 1; } return CPU_CORES; } }