2012-06-14 1 views
3

여기가 처음 질문을하는 곳입니다. 나는 잘 연구하려고 노력했다. 그래서 나는 전에이 질문에 대한 게시물을 간과했다면 사전에 사과했다. 나는 그것이 실행되는 동안 내 애플 리케이션에 대한 사용 통계를 얻을 수 있는지보고 싶다. 상대적으로 높은 성능의 프로그램을 운영하고 있으며, 코어가 컴퓨팅간에 얼마나 잘 분산되어 있는지 (그리고 프로그램 자체에서이 정보를 표시하는 데) 관심이 있습니다.Android를 코딩 할 때 장치의 각 코어에 대한 CPU 사용량을 개별적으로 파악할 수있는 방법이 있습니까?

다시 한 번 미안하지만이 게시물이 무지로 가득 차 있다면!

+0

딜런 M, 공유는 제발 제발! –

답변

6

-/sys/devices/system/cpu/디렉토리 아래의 파일을보고 CPU 코어 수를 확인할 수 있습니다. 이것은 뿌리가없는 전화기에서도 가능합니다.

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; 
    } 

} 

당신은 여기에 대한 대답에 언급 된 기능을 수정하여 코어 당 CPU 사용률을 얻을 수 있습니다 - - 여기 장치에 당신에게 코어의 수를 줄 수있는 기능입니다 Get Memory Usage in Android

+0

감사합니다. 이것은 꽤 잘 해결되었습니다. 방금 프로세서의 경로 배열을 반환하도록 함수를 수정 한 다음 URL에서 함수를 수정하여 경로를 인수로 사용하고 배열을 반복했습니다. 쉽고 빠르게 : D –

+0

코드를 여기에 알려주십시오. 나는/sys/devices/system/cpu/cpu0 등이 폴더라고 덧붙여서 언급 된 쓰레드의 함수가/proc/stat –

+0

@DylanM 파일의 데이터를 읽었 기 때문에 혼란 스럽다. 각 응용 프로그램에 대한 CPU 사용량을 계산하는 방법을 공유 할 수 있습니까? – user3233280

관련 문제