Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在eclipse中使用MAT查找内存泄漏_Android_Eclipse_Memory Leaks_Eclipse Mat - Fatal编程技术网

Android 如何在eclipse中使用MAT查找内存泄漏

Android 如何在eclipse中使用MAT查找内存泄漏,android,eclipse,memory-leaks,eclipse-mat,Android,Eclipse,Memory Leaks,Eclipse Mat,我是这方面的新手,所以我在互联网上研究了MAT,但文章很老,有一些关于创建堆转储和手动将文件转换为其他格式等…但我一点击堆转储就得到了这个消息 所以我猜我不需要再转换它了,还是我 我想问一下,我的应用程序需要大约40-120 mb的内存。由于内存泄漏,内存大小一直在增加。如何找出是哪个变量导致的?我们甚至可以找出单独变量的内存分配吗?您不需要再转换它了,hprof足以找到内存泄漏 在MAT中,单击直方图和支配树菜单。两者都将显示运行时对象的列表和保留堆的相应大小。您可以根据保留的堆大小轻松获得

我是这方面的新手,所以我在互联网上研究了MAT,但文章很老,有一些关于创建堆转储和手动将文件转换为其他格式等…但我一点击堆转储就得到了这个消息

所以我猜我不需要再转换它了,还是我


我想问一下,我的应用程序需要大约40-120 mb的内存。由于内存泄漏,内存大小一直在增加。如何找出是哪个变量导致的?我们甚至可以找出单独变量的内存分配吗?

您不需要再转换它了,hprof足以找到内存泄漏

在MAT中,单击直方图和支配树菜单。两者都将显示运行时对象的列表和保留堆的相应大小。您可以根据保留的堆大小轻松获得代码分析的启动点,并找到内存泄漏的根源


此外,如果您单击泄漏怀疑,您将获得问题怀疑列表。

谢谢,但由于我无法使用mat找到它,我更改了代码的整个结构,在不需要时将值置为空,这非常有帮助……:D还知道,如果上下文不为空,则活动不会被破坏,从而导致内存泄漏。。。。仍然有一些内存泄漏,但数量已经大幅减少:DI仍然需要知道如何清除布局..取消它们会有帮助吗?当然,在使用后取消对象是一种很好的做法。特别是关闭您的JDBC Conn对象等。如果您仍然面临任何问题,总是建议使用一些收费,如MAT,以获得根本原因。您甚至可以使用JConsole查看应用程序在运行时的内存消耗。由于它的运行时间,当内存需求较高时,您将很容易发现,您可以专注于特定的功能。感谢您在这里提供的帮助