记忆似乎是个大话题,我找不到具体的答案。
我已经得到了堆中有多少可用资源的答案,我知道应该使用多少。我需要的答案是如何编程来确定我的应用程序在堆中使用了多少内存?我总共用了多少内存?

最佳答案

这作品:

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

  String memMessage = String.format("App Memory: Pss=%.2f MB\nPrivate=%.2f MB\nShared=%.2f MB",
  memoryInfo.getTotalPss() / 1024.0,
  memoryInfo.getTotalPrivateDirty() / 1024.0,
  memoryInfo.getTotalSharedDirty() / 1024.0);

  Toast.makeText(this,memMessage,Toast.LENGTH_LONG).show();
  Log.i("log_tag", memMessage);

08-03 12:07