Android:我怎么知道我的应用在VM上分配了多少内存?

时间:2014-02-05 13:06:02

标签: android memory memory-management heap dalvik

我是来自韩国的Android开发者。

在高对象分配的情况下,我必须对空间复杂度进行一些测试。解除分配。

所以,我想测量一下我的应用在VM上分配了多少内存。 不是一个整体设备或整个APP分配的内存,但我的应用程序只有!!

是。我已经知道有一个Android内置的ActivityManager.getMemoryInfo()

但我很困惑:getMemoryInfo()有一些属性。

long availMem,long totalMem ...

这些是整个设备吗?或者我的应用程序?
还有另一种获取这些东西的方法吗?

有人知道吗?
请帮帮我。

感谢您的阅读。

1 个答案:

答案 0 :(得分:5)

有简单的方法。 只需使用Debug.MemoryInfo()。 代码与以下相同

Debug.MemoryInfo memInfo = new Debug.MemoryInfo ();
Debug.getMemoryInfo ( memInfo );

memInfo.getTotalPss (); 
// Indicates Proportional Set Size. USS + (SharedPage/Number of Shared Page) 

memInfo.getPrivateDirty ();
// Memory should to be freed.

这就是全部!