如何在安卓系统中获取处理器编号

8

大家好,我想在Android上获取处理器编号。我可以像下面这样做吗:

int processporNum =  sysconf(_SC_NPROCESSORS_CONF);

但每次在我的某些手机上返回值都是1,所以我不确定这种方法是否正确。有没有其他API可以获取这些信息?
2个回答

11

你可以运行

Runtime.getRuntime().availableProcessors()

1
这将返回可用于此特定虚拟机的CPU数量,就我亲身经历而言。这可能不是您想要的,但对于某些目的来说非常方便。您可以很容易地进行测试:关闭所有应用程序,运行上述代码。打开10个非常耗费资源的应用程序,然后再次运行测试。当然,这仅适用于多CPU设备,我猜。 - poitroae
@blackbelt: C语言中如何获取CPU核心数?Runtime类的头文件是什么?这里的Runtime类是否属于Java? - Samuel
如果设备有4个强大的核心和4个低功耗核心,它将返回8,但是只有4个核心可用。 - artem

5

我看到你正在使用本地代码。

因此,请阅读文件/proc/cpuinfo并相应地解释它。它看起来像这样:

Processor   : ARMv7 Processor rev 2 (v7l)
BogoMIPS    : 162.83
Features    : swp half thumb fastmult vfp edsp thumbee neon 
CPU implementer : 0x51
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0x00f
CPU revision    : 2
Hardware    : htcleo
Revision    : 0000
Serial      : 0000000000000000 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接