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

提供: MonoBook
2021年4月20日 (火) 07:03時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「Linuxでよくあるsysfsから取得する方法がAndroidでも使える。 == 実装例 == <source lang="csharp"> int GetMinFreq(int core) { return Re…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

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;
}