现在的位置: 首页 > 综合 > 正文

关于CPU使用率的代码

2013年04月29日 ⁄ 综合 ⁄ 共 1590字 ⁄ 字号 评论关闭

 

  • import java.io.IOException;   
  • import java.io.RandomAccessFile;   
  •   
  •   
  • import android.app.Activity;   
  • import android.os.Bundle;   
  • import android.widget.TextView;   
  •   
  •   
  • public class TextActivity extends Activity {   
  •   
  • private TextView mytext;   
  •     /** Called when the activity is first created. */  
  •     @Override  
  •     public void onCreate(Bundle savedInstanceState) {   
  •         super.onCreate(savedInstanceState);   
  •         setContentView(R.layout.main);   
  •         mytext = (TextView)findViewById(R.id.text);        
  •   
  • String sysv = "您手机的CPU使用率为:"+readUsage();     
  •         mytext.setText(sysv);    
  •     }   
  •          
  •        
  • private float readUsage() {    
  •        
  • 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 (int)(100*(cpu2 - cpu1) / ((cpu2 + idle2) - (cpu1 + idle1)));    
  •        
  • catch (IOException ex) { ex.printStackTrace();   
  •        
  • }    
  •        
  • return 0; }    
  •        
  • }   
  • 抱歉!评论已关闭.