Al codificar para Android, ¿hay una manera de obtener el uso de la CPU para cada núcleo del dispositivo de forma individual?

esta es mi primera vez haciendo una pregunta aquí. Intenté ser investigado bien, así que pido disculpas por adelantado si pasé por alto un poste para esta pregunta antes. Estoy buscando para ver si puedo obtener las estadísticas de uso de mi aplicación mientras se está ejecutando. Estoy ejecutando algunos programas de rendimiento relativamente alto, y estoy interesado en ver lo bien que se distribuye la computación entre los núcleos (y mostrar esta información en el propio programa).

Una vez más, lo siento si este post está plagado de ignorancia!

Puede comprobar el número de núcleos de la CPU mirando los archivos bajo el directorio – / sys / devices / system / cpu /. Esto también es posible en los teléfonos no enraizados. Aquí hay una función que le puede dar el número de núcleos en el dispositivo –

public int getNumOfCpus() { class CPUFilter implements FileFilter { @Override public boolean accept(File pathname) { // Check if filename is "cpu0", "cpu1,... 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/"); File[] files = dir.listFiles(new CPUFilter()); // Return the number of cores return files.length; } catch (Exception e) { e.printStackTrace(); return 1; } } 

A continuación, puede obtener la utilización de la CPU por núcleo modificando la función mencionada en la respuesta aquí – Obtener uso de memoria en Android

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.