我使用以下代码来获取内存使用情况。

double allocated = Debug.getNativeHeapAllocatedSize() / (double) 1048576;
double available = Debug.getNativeHeapSize() / (double) 1048576.0;
double free = new Double(Debug.getNativeHeapFreeSize()) / (double) 1048576.0;


我得到以下日志:

07-15 12:59:11.149: DEBUG/NKHeap(9363): debug.heap native: allocated 13,220MB of 16,059MB (0,108MB free)


我的问题是免费加分配的总和不等于总数。
我是否缺少基本的东西,还是我应该期望的精度?

最佳答案

要获取内存使用率,请尝试以下操作:

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

String memMessage = String.format("Memory: Pss=%.2f MB,
Private=%.2f MB, Shared=%.2f MB",
memoryInfo.getTotalPss() / 1024.0,
memoryInfo.getTotalPrivateDirty() / 1024.0,
memoryInfo.getTotalSharedDirty() / 1024.0);


您可以在此博客here.中了解更多信息

关于android - Android内存统计,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6706282/

10-10 19:58