(转自)http://makingmoneywithandroid.com/forum/showthread.php?tid=298
[HOW TO] Get the Number of CPU Cores in an Android Device
/** * 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 1 if failed to get result */ private int getNumCores() { //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()); Log.d(TAG, "CPU Count: "+files.length); //Return the number of cores (virtual CPU devices) return files.length; } catch(Exception e) { //Print exception Log.d(TAG, "CPU Count: Failed."); e.printStackTrace(); //Default to return 1 core return 1; } }
不需要root权限。