【问题标题】:Android How do you get total memory RAM in the device?Android 如何获得设备中的总内存 RAM?
【发布时间】:2010-10-22 16:06:58
【问题描述】:

我可以通过以下方式获得总可用内存:

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
memoryInfo.availMem;

但是,如何获得设备的总内存 (RAM)?

我确实读过: How do I discover memory usage of my application in Android?

添加 pidMemoryInfo.getTotalPss() 似乎也不能给我提供总内存。

【问题讨论】:

  • 我猜你可以这样做'memoryInfo.totalMem'

标签: android api memory


【解决方案1】:

试试这个对我有用。

public static String getTotalRAM() {
    RandomAccessFile reader = null;
    String load = null;
    try {
        reader = new RandomAccessFile("/proc/meminfo", "r");
        load = reader.readLine();
    } catch (IOException ex) {
        ex.printStackTrace();
    } finally {
        // Streams.close(reader);
    }
    return load;
}

【讨论】:

  • 不,这并没有给出 RAM 的任何内存大小,然后读取字符串对象,例如“reader is == java.io.RandomAccessFile@413b39c0”
  • 为什么要注释掉清理?
【解决方案2】:

如果你没有找到其他东西,你可以绕过 android 并阅读 /proc/meminfo,这是更普通的 linux 发行版上的“免费”命令所做的

【讨论】:

    【解决方案3】:

    MemoryInfo 类在 API 16 中添加了 totalMem。请尝试一下。

    public long totalMem 在 API 级别 16 中添加 内核可访问的总内存。这基本上是设备的 RAM 大小,不包括内核下的固定分配,如 DMA 缓冲区、基带 CPU 的 RAM 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 2022-01-12
      • 2018-05-12
      • 2013-12-11
      • 2023-03-10
      相关资源
      最近更新 更多