3

是否有另一个正在使用的内存没有显示在堆转储中?我在 Eclipse 上使用内存分析器。首先,我使用 DDMS 和内存分析器选择转储堆。它只显示堆的大小为 7mb,直方图基本上告诉我一切都很好。但是,我已经在我的设备上下载了几个内存监控应用程序,他们都说我的应用程序占用了 250mb,而且还在不断攀升。

我还能如何尝试找出为什么它占用这么多内存?

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

4

内存测量应用程序并不值得,引用Dianne Hackborn的话:

请注意,现代操作系统(如 Linux)上的内存使用是一个极其复杂且难以理解的领域。事实上,你真正正确解释你得到的任何数字的机会非常低。

话虽如此,欢迎您使用她的回答中概述的技术来尝试更好地处理这些工具所声称的内容以及这是否真的是一个问题。

还:

  • 如果您有多个进程,请记住 DDMS 的堆转储是针对单个进程的

  • 如果您使用 NDK 进行本机开发,则 NDK 分配不属于托管堆,因此不包含在堆转储中

于 2013-09-30T11:43:09.920 回答