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