关于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; @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; } }