2013-05-22 72 views
1

我正在寫一個Android應用程序顯示一些關於CPU,內存等信息。我怎樣才能在屏幕上顯示它的信息?用textview或其他方式?在Android應用程序顯示CPU,內存信息

+0

什麼是您的實際問題?或者你的問題是你不確定從哪裏開始? –

+0

我的問題是我找不到在應用程序中顯示CPU信息或內存信息的方法。用敬酒是的,但我想要在屏幕上顯示它們。例如,只是在一個按鈕或在我的活動中心.. –

+0

O/P我得到的是不正確的......所有的時間O/P是在0.825699至1.0的範圍內,只有一個應用程序正在運行在我的android手機上。我從谷歌播放下載免費的應用程序的CPU使用率檢查,但兩個O/P是不同的。你能告訴我從tv.setText(「」+ readCPUUsage())得到什麼o/p; –

回答

2

您可以使用此功能和TextView

private float readCPUUsage() { 
    try { 
     RandomAccessFile reader = new RandomAccessFile("/proc/stat", "r"); 
     String load = reader.readLine(); 

     String[] toks = load.split(" "); 

     long idle1 = Long.parseLong(toks[5]); 
     long cpu1 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4]) 
       + Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]); 

     try { 
      Thread.sleep(360); 
     } catch (Exception e) {} 

     reader.seek(0); 
     load = reader.readLine(); 
     reader.close(); 

     toks = load.split(" "); 

     long idle2 = Long.parseLong(toks[5]); 
     long cpu2 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4]) 
      + Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]); 

     return (float)(cpu2 - cpu1)/((cpu2 + idle2) - (cpu1 + idle1)); 

    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } 

    return 0; 
} 

更多表現出來見How to get Memory usage and CPU usage in android?

編輯

final Runnable r = new Runnable() 
{ 
    public void run() 
    { 
     tv.setText(" "+readCPUUsage()); 
     handler.postDelayed(this, 1000); 
    } 
}; 

handler.postDelayed(r, 1000); 
+0

mmh,有趣..但在我的情況下,我有一個nexus4,所以我有4個CPU。然而,我怎樣才能「連接」這個功能與textview? –

+0

您可以定期更新textview ...查看編輯 –

+0

好的,謝謝,但是我在textview中寫什麼?例如?只是一個簡單的例子來理解。 –

相關問題