Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android資訊 >> Android代碼獲取CPU運行情況

Android代碼獲取CPU運行情況

編輯:Android資訊

眾所周知,android的os是linux。也就是說,關於硬件的信息,只有從linux接口才能得到。我們知道,除了系統調用,只能從proc sys這兩個文件系統裡獲取數據了。cpu信息也藏在這兩個文件系統裡。專門的系統調用不靈活,且依賴c庫。

1. /proc/cpuinfo

通過這個可以統計cpu情況,包括cpu個數,cpu核心數,cpu硬件線程數。不過android上,這個沒啥用。

kernel位置: fs/proc/cpuinfo.c

2. /proc/stat

這個能獲取每個cpu的活動情況,一些統計信息,不包括頻率,我們知道頻率是通過cpufreq獲取的。

kernel位置:fs/proc/stat.c

3. /sys/devices/system/cpu

這個目錄下的諸如cpu0 cpu1等都是kernel裡注冊cpu時候,生成的節點,通過這個統計基本上可以統計出cpu的情況了。通過建立鏈接的方式,可以偽造一個cpuX。

sysfs_create_link(&cpu_subsys.dev_root->kobj, &cpu->dev.kobj, “cpu1″);

kernel位置:drivers/base/cpu.c

4. android的vm接口

Runtime.java:605:    public int availableProcessors() {

源碼位置;libcore

注意:這個接口實際上最後調用了bionic的sysconf接口,這個接口也是統計的/sys/devices/system/cpu/下的信息,但是鏈接是不算數的。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved