Xamarin.AndroidでCPUのクロック周波数を取得する

提供: MonoBook
ナビゲーションに移動 検索に移動

Linuxでよくあるsysfsから取得する方法がAndroidでも使える。

実装例[編集 | ソースを編集]

int GetMinFreq(int core)
{
    return ReadIntValue($"/sys/devices/system/cpu/cpu{core}/cpufreq/cpuinfo_min_freq");
}

int GetMaxFreq(int core)
{
    return ReadIntValue($"/sys/devices/system/cpu/cpu{core}/cpufreq/cpuinfo_max_freq");
}

int GetCurFreq(int core)
{
    return ReadIntValue($"/sys/devices/system/cpu/cpu{core}/cpufreq/scaling_cur_freq");
}

int ReadIntValue(string path)
{
    if (!File.Exists(path))
    {
        return -1;
    }
    var text = File.ReadAllText(path);
    if (!int.TryParse(text, out var value))
    {
        return -1;
    }

    return value;
}