在安卓系统上获取免费进程内存

3
如何在Android上获取当前运行进程的可用内存量?或者编程方式获取分配给当前进程的内存总量?
方法ActivityManager.getMemoryInfo()在我的情况下不起作用,因为它返回的是系统空闲内存而不是进程内存。还有ActivityManager.getProcessInfo()方法,但它返回一个旧版本的API结构,我不知道是否可能使用该数据来检索可用内存量。
是否有关于这些方法的任何说明或其他获取可用内存量的方法?
5个回答

3

您还可以使用Runtime.getRuntime().maxMemory();,它返回您进程的最大堆大小(以字节为单位)。

虽然这通常与内存类相同,但我发现在某些情况下,内存类返回较高的值(即24MB),而堆大小返回较低的值(即16MB),实际可用于进程的值是较低的一个。


Runtime.getRuntime().freeMemory() / 1048576L 可以得到以兆字节为单位的大小。 - CoolMind

2
请尝试以下代码:
      ActivityManager activityManager = = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
      MemoryInfo mi = new MemoryInfo();
      activityManager.getMemoryInfo(mi);
      Log.i("memory free", "" + mi.availMem);

1

0

请尝试以下命令:

启动应用程序并输入以下命令

    C:\Program Files\Android\android-sdk\platform-tools\adb shell dumpsys meminfo "your package name"

但我需要以编程的方式来实现。 - Yury Pogrebnyak
我已经发布了另一个答案,请查看。 - G M Ramesh
你可以查看其他的API来获取更多小米相关的信息。 - G M Ramesh

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接