我想在 Android 上获得我的移动应用程序的最大性能。我想知道是否有人知道检查手机是否具有 FPU 的技巧。
经过一些研究,似乎在拥有 FPU 的单元上使用 FloatMath
类的速度较慢,所以我希望两全其美。
大多数较新的手机都有 FPU,但我希望获得设备所能提供的最佳性能。
最佳答案
它是一个 Linux 内核,至少默认的 Android 配置会挂载 procfs
。这意味着您可以查看 /proc/cpuinfo
,它在 ARM 系统上看起来像:
# cat/proc/cpuinfo
处理器:ARMv7 处理器版本 3 (v7l)
BogoMIPS:249.96
特点:swp 半拇指 fastmult vfp edsp NEON vfpv3
CPU 实现者:0x41
CPU架构:7
CPU变体:0x1
CPU部分:0xc08
CPU版本:3
[...]
如果“Features
”行至少列出了 vfp
,则 ARM SoC 具有 FPU。
您应该能够通过 Dalvik/Java 接口(interface)读取 /proc/cpuinfo
,就像普通文件一样,无需特权访问或任何需要。我不是 Java 程序员,因此将其作为练习留给读者。