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