2013-05-22 39 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中写什么?例如?只是一个简单的例子来理解。 –

相关问题