关于CPU使用率的代码

来源:互联网 发布:搜索软件下载安装 编辑:程序博客网 时间:2024/05/16 11:25
 
  • 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; }    
  •        
  • }   
  • 原创粉丝点击