3

ここで質問するのはこれが初めてです。よく調べてみたので、以前にこの質問の投稿を見落としていたので、あらかじめお詫び申し上げます。アプリの実行中にアプリの使用統計を取得できるかどうかを確認しています。私はいくつかの比較的高性能なプログラムを実行しており、コンピューティングがコア間でどれだけうまく分散されているかを確認することに興味があります(そしてこの情報をプログラム自体に表示します)。

繰り返しになりますが、この投稿が無知に満ちている場合は申し訳ありません!

4

1 に答える 1

6

/sys/devices/system/cpu/ ディレクトリの下のファイルを見ると、CPU コアの数を確認できます。これは、ルート化されていない電話でも可能です。これは、デバイスのコア数を提供できる関数です-

    public int getNumOfCpus() {

    class CPUFilter implements FileFilter {
        @Override
        public boolean accept(File pathname) {
            // Check if filename is "cpu0", "cpu1,...
            if (Pattern.matches("cpu[0-9]", pathname.getName())) {
                return true;
            }
            return false;
        }
    }

    try {
        // Get directory containing CPU info
        File dir = new File("/sys/devices/system/cpu/");
        File[] files = dir.listFiles(new CPUFilter());
        // Return the number of cores 
        return files.length;
    } catch (Exception e) {
        e.printStackTrace();
        return 1;
    }

}

ここで回答に記載されている関数を変更することにより、コアあたりの CPU 使用率を取得できます - Android でメモリ使用量を取得する

于 2012-06-14T18:02:39.997 に答える