我一直在努力獲得準確的CPU使用率每個進程和進程空閒CPU時間.. 我試過「頂部」命令proc/[pid]/stat文件夾,但仍然試圖運氣..如何獲得準確的CPU使用率每個進程和進程空閒CPU時間
TOP命令提供CPU使用所有在fg(前景)和BG(背景) 運行的進程,但它不是那麼準確我覺得..因爲它顯示%CPU 0 ,即使這個過程在後臺運行..任何其他方式?請幫助
我一直在努力獲得準確的CPU使用率每個進程和進程空閒CPU時間.. 我試過「頂部」命令proc/[pid]/stat文件夾,但仍然試圖運氣..如何獲得準確的CPU使用率每個進程和進程空閒CPU時間
TOP命令提供CPU使用所有在fg(前景)和BG(背景) 運行的進程,但它不是那麼準確我覺得..因爲它顯示%CPU 0 ,即使這個過程在後臺運行..任何其他方式?請幫助
我已經找到一種方法來做到這一點自己.. 我使用
回答更多解釋:http://stackoverflow.com/a/31274572/2872712 – apricot
你可以得到CPU使用率:
ArrayList<String> list = new ArrayList<String>();
try {
// -m 10, how many entries you want, -d 1, delay by how much, -n 1,
// number of iterations
Process p = Runtime.getRuntime().exec("top -m 15 -d 1 -n 1");
BufferedReader reader = new BufferedReader(new InputStreamReader(
p.getInputStream()));
int i = 0;
String line = reader.readLine();
while (line != null) {
Log.e("Output " i, line);
list.add(line);
line = reader.readLine();
i ;
}
p.waitFor();
Toast.makeText(getBaseContext(), "Got update",Toast.LENGTH_SHORT)
.show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getBaseContext(), "Caught", Toast.LENGTH_SHORT)
.show();
}
頂級命令總結結果。結果不是十進制值。 – aditya
Dumpsys cpuinfo在2.2和2.3.6上工作得非常好,但是當我在4.0上試用時,它給了我一個輸出錯誤消息,如「權限拒絕:無法從pid轉儲電池服務...」此外,當應用程序是推出有一個項目在日誌標記爲「PackageManager」,表明不授予權限android.permissionDUMP包....(protectionLevel = 3 ...)「 – aditya
DUMP權限將無法使用Android 4.0或4.1後,您必須使用您的應用程序作爲root用戶或放入/system/app/yourapp.apk。 –
@VISHAL /system/app/yourapp.apk。需要一個根植的ROM或一個根本不需要的設備。 – aditya