如何计算android设备中的RAM使用率?

时间:2013-06-12 01:16:01

标签: android

我正在尝试计算运行应用程序时的Ram使用情况。我在stackoverflow上看到了一些帖子,但是cldnt非常了解它们是如何进行的。 任何人都可以帮助我找到设备中的内存(RAM)使用情况吗?

3 个答案:

答案 0 :(得分:5)

您可以计算可用内存,如果在大于16的API级别上运行,您可以获得总内存。从那里你可以有内存使用 我在我的应用程序中使用以下方法。它返回以MB为单位的可用内存。

private void showAvailableMemory(){
    MemoryInfo mi = new MemoryInfo();
    ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    activityManager.getMemoryInfo(mi);
    long availableMegs = mi.availMem / 1048576L;
    Log.i(TAG, "Available memory = " + availableMegs + " MB");
}

如果您在API级别上运行> 16,您可以使用MemoryInfo.totalMem来获取设备内存。

答案 1 :(得分:1)

这是最好的答案:

How do I discover memory usage of my application in Android?

但基本上,你应该检查USS值:

adb shell procrank -u

示例:

  PID      Vss      Rss      Pss      Uss  cmdline
  492   73540K   73336K   51256K   49780K  system_server
  676   53712K   53008K   31831K   30696K  com.android.systemui
13918   46408K   46376K   21050K   19504K  com.facebook.katana

答案 2 :(得分:-1)

使用此代码计算..

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

从memoryInfo获取可用内存。

另外,要测量使用此工具,它将显示应用的内存使用情况  http://www.littleeye.co/