java - 以编程方式获取android设备的所有RAM内存,而不仅仅是分配给用户进程的内容

标签 java android api memory memory-management

我有一个设备,我确定它有 512 MB 的 RAM 内存

希望能够以编程方式检索此值 (512 MB)。

到目前为止,我在互联网上遇到的主要是这两种方式:

https://stackoverflow.com/a/16143065/1521264 这给了我 386 MB

还有 https://stackoverflow.com/a/23508821/1521264 这也给了 386 MB

我假设 386 MB 是用户进程可用的内存,所以我想获取所有内存或其他进程的故障。

最佳答案

我打赌你和我有同样的设备:谷歌 Nexus S(或者它可能是配置相似的设备)。这款手机有 512 MB 的物理 RAM,但其中 128 MB 被 GPU 占用了。这就是为什么只有 384 MB 可用于 Android,这就是系统报告的数量。来自Wikipedia entry :

The Nexus S has 512 MB of RAM (Mobile DDR) (128MB is assigned to the GPU, leaving 384MB free for the OS)

因为这是系统可用的所有内存(而不仅仅是用户进程),所以您获得的值是正确的。

关于java - 以编程方式获取android设备的所有RAM内存,而不仅仅是分配给用户进程的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26442758/

相关文章:

php - 从粘贴的亚马逊网址获取 ASIN

java - 如何将 PutMappingRequest 与 Elasticsearch 8 Java API 客户端结合使用?

java - Android ListFragment 打乱了最初未呈现的元素的顺序

c# - 带有在线 MySql/Sql 数据库的 Xamarin Android 应用程序

android - 如何在 Android 应用程序中集成 GitHub 身份验证

android - 为什么android模拟器启动但立即死亡?

c# - Moq 返回 null 和 BadRequestObjectResult

c++ - Tokyo Cabinet 面向对象的 C++ API?

java - Oracle新的Java许可证,旧版本有何影响?

java - 实例化对象用于显示另一个类中存储的信息