2012-03-29 92 views
5

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

感谢

航点

+0

航点,看到这个答案可能会有所帮助[阅读Android设备总数ra m与/proc/meminfo](http://stackoverflow.com/questions/9869761/read-android-device-total-ammount-of-ram-with-proc-meminfo/9870018#9870018) – 2012-03-29 05:52:02

+1

我只得到总数我需要实际使用我的应用程序 – Waypoint 2012-03-29 09:51:45

+0

运行此命令'Runtime.getRuntime()。exec(“/ system/bin/top -n 50”);'这会给你所有进程的信息,然后解析它 – 2012-03-29 10:00:39

回答

3

如果你在谈论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?
+0

谢谢,但是ActivityManager.getMemoryInfo()究竟是什么mehotd?没有人似乎对我很冷漠 – Waypoint 2012-03-29 05:26:34

+0

感谢您的编辑,我无法解析proc/meminfo,所以我尝试使用ActivityManager.getMemoryInfo,但它只显示availMem。尽管如此,我加载领域与否,availMem不会改变 – Waypoint 2012-03-29 05:42:31

+0

在这个问题http://stackoverflow.com/questions/3118234/how-to-get-memory-usage-and-cpu-usage-in-android use/proc/meminfo文件获取内存信息。 – user370305 2012-03-29 05:46:06