編輯: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/下的信息,但是鏈接是不算數的。
我仍記得2014年我決定做安卓開發的那天,這是我一生中做出的最好決定之一。到現在已經有2年半了, 最初的時候,並沒有人告訴我如何做才是正確的。我犯了很多錯誤,浪費
Volley下載 Google I/O 2013 大會上發布的 Android 異步網絡請求框架和圖片加載框架。 試用場景:適合數據量小,通信頻繁的網絡操作。 g
前言 好久沒有寫博客了,瞬間感覺好多學了的東西不進行一個自我的總結與消化總歸變不成自己的。通過博客可能還可以找到一些當初在學習的時候沒有想到的問題。想了半天,從大
自己學了兩三個月的Android,最近花了一周左右的時間寫了個App——Diigoer(已開源),又花了一兩周時間找工作,收到了兩個Offer,也算是對自己學習的