2

当我运行我的应用程序时,我正在尝试计算 Ram 使用情况。我在 stackoverflow 上看到了一些帖子,但 cldnt 非常了解他们是如何做到的。谁能帮我找到我设备中的内存(RAM)使用情况?

4

3 回答 3

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获取设备内存。

于 2013-06-12T01:17:40.800 回答
1

这是最好的答案:

如何在 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
于 2013-06-12T12:01:02.337 回答
-1

使用此代码计算..

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

从 memoryInfo 获取可用内存。

另外,测量使用这个工具,它会显示你的应用程序的内存使用情况 http://www.littleeye.co/

于 2013-06-12T01:24:45.993 回答