【问题标题】:Android - get allocated memoryAndroid - 获取分配的内存
【发布时间】:2012-04-12 17:55:07
【问题描述】:

有什么办法,如何确定Android应用程序中实际分配的内存(在代码中)?

谢谢

航点

【问题讨论】:

标签: android memory-management


【解决方案1】:

如果您谈论的是 Android 应用程序内存,那么

ActivityManager.getMemoryInfo() 是我们用于查看整体内存使用情况的最高级别 API。

在较低级别,您可以使用Debug API 获取有关内存使用情况的原始内核级别信息。

注意,从 2.0 开始,还有一个 API,ActivityManager.getProcessMemoryInfo,用于获取有关另一个进程的信息。

您还可以解析/proc/meminfo 命令。并获取内存信息的响应。

编辑:

ActivityManager activityManager =  (ActivityManager) getSystemService(ACTIVITY_SERVICE);
MemoryInfo memoryInfo = new MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
Log.i("memory free", "" + memoryInfo.availMem);

有关更多信息,请查看以下两个 SO 问题:

  1. How to discover memory usage of my application in Android
  2. How to get current memory usage in android?

【讨论】:

  • 谢谢,但是 ActivityManager.getMemoryInfo() 的具体方法是什么?似乎没有人适合我
  • 感谢您的编辑,我无法解析 proc/meminfo,所以我尝试使用 ActivityManager.getMemoryInfo 但它只显示availMem。不管我是否加载字段,availMem 没有改变
  • 在这个问题stackoverflow.com/questions/3118234/… 使用/proc/meminfo 文件获取内存信息。
  • /proc/meminfo 只给了我最大的 RAM 大小,我需要实际分配的大小
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-01
  • 2011-12-12
  • 2011-08-23
  • 1970-01-01
  • 2018-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多