Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The Runtime.availableProcessors() doesn't seem to work correctly for all Android devices (for example, it only returns "1" on my dual-core Galaxy S II). There may be some confusion between physical CPUs, and virtual CPUs, aka Cores.</p> <p>The most reliable method I've found is <a href="http://makingmoneywithandroid.com/forum/showthread.php?tid=298&amp;pid=1663#pid1663" rel="nofollow noreferrer">described in this forum post</a>. Basically, you have to count the virtual CPU devices in /sys/devices/system/cpu/. This will work with dual-core and quad-core devices with no modifications.</p> <p>I've tested this method on my Galaxy S II (2 cores) and Asus Transformer Prime (4 cores) and it reports correctly. Here's some sample code (taken from <a href="https://stackoverflow.com/a/10377934/663469">my answer to this question</a>):</p> <pre><code>/** * 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()); //Return the number of cores (virtual CPU devices) return files.length; } catch(Exception e) { //Default to return 1 core return 1; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload