1
回答
关于Android CPU使用率的问题
百度AI开发者大赛带你边学边开发,赢100万奖金,加群:418589053   
我通过学习他人给出的资料写的测试CPU使用率的方法,但是发现给出的值与一些正规软件,例如安卓优化大师得出的结果值有出入,想问问各位大神此方法可对?
	public static 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;

	}

举报
Super超
发帖于6年前 1回/4K+阅
顶部