我的程序针对的是 Android 1.5。我想检索有关设备本身的系统信息。通过搜索 API,我发现很少有有用的类。到目前为止我发现的最好的是Runtime类和一些Build.*系统属性。
我希望能够获得诸如设备上的内存总量、可用内存量(我不知道该类是否Runtime实际给我的信息,因为它具体指的是 JVM 可用的内存)等信息有关处理器的信息。
这些信息是否可用?如果有,我在哪里可以找到它?
“内存总量”毫无意义(例如 G1 有 192MB 物理 RAM,其中 90-100MB 可供不同版本的内核和应用程序使用,但这不包括用于窗口缓冲区和各种其他事情,每个 Java 应用程序的堆大小限制为 16MB,因此系统的可用 RAM 更多的是关于可以同时运行多少个进程)。
“可用内存量”确实毫无意义。我们通常会尝试让尽可能多的应用程序保持运行,因为有可用内存,因此在该缓存和普通 Linux 缓存之间通常几乎没有可用内存。如果你确实查看了内核中的原始可用内存,你会发现随着应用程序启动并使用一些内存,它会随着时间的推移而发生相当疯狂的变化,将其压低,然后其他应用程序被删除,导致它跳回来,直到缓存和其他东西有机会吞噬它。
目前我想出的查看系统内存状态的最佳方法是 2.0 中引入的“正在运行的服务”UI。是的,底部的记忆信息对于大多数人来说是极其微妙且毫无意义的。我们应该想办法改进它。:)
您可以通过 android.os.Build.CPU_ABI 找到 NDK 代码的 CPU 架构。这为您提供了 CPU 架构的基线,以及 CPU 是否支持 NEON 指令等信息。对于此类信息,您可以使用 NDK 运行一些本机代码来询问 CPU。
| 归档时间: |
|
| 查看次数: |
9267 次 |
| 最近记录: |