Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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中查找内存泄漏类/活动_Android_Memory Leaks - Fatal编程技术网

如何在Android中查找内存泄漏类/活动

如何在Android中查找内存泄漏类/活动,android,memory-leaks,Android,Memory Leaks,我是这个Android平台的新手。在一个应用程序中,存在内存泄漏。但我无法找到内存泄漏发生在哪个活动或类中 我正在使用MAT获取内存泄漏是否存在的信息。但无法找到正在泄漏的活动 请告诉我如何找到正在泄漏的活动 谢谢。我不能对上一篇文章发表评论,但重要的是要意识到,你绝对应该担心内存管理,特别是在资源有限的环境下,即Android移动平台。有关更多信息,请查看此处: 您可以在DDMS中看到它 只需选择应用程序包名称,然后单击上面的更新按钮 现在转到堆选项卡,单击原因GC 您将看到所使用对象的列表。

我是这个Android平台的新手。在一个应用程序中,存在内存泄漏。但我无法找到内存泄漏发生在哪个活动或类中

我正在使用MAT获取内存泄漏是否存在的信息。但无法找到正在泄漏的活动

请告诉我如何找到正在泄漏的活动


谢谢。

我不能对上一篇文章发表评论,但重要的是要意识到,你绝对应该担心内存管理,特别是在资源有限的环境下,即Android移动平台。有关更多信息,请查看此处:


您可以在DDMS中看到它

只需选择应用程序包名称,然后单击上面的更新按钮

现在转到堆选项卡,单击原因GC


您将看到所使用对象的列表。

我在android平台上找到的关于跟踪内存泄漏的最佳帖子是:


第一部分已经过时了,因为它现在集成到Eclipse中了,但是大部分文章都很棒

即使这个问题已经很老了。我认为有图像的小教程可能会有帮助。因此,首先需要安装。重新启动后,单击转储HPROF文件:

一段时间后(大约30秒),您将看到一个对话框,您可以在其中单击finish。然后您会看到以下视图:

在这里,您可以用鼠标左键单击最大的部分,然后过滤带有传出引用的。然后您可以在此处看到此视图:


在这里,您可以看到我没有删除ContentManager中的项目,其中有几个项目存储在挂起的
HashMap

使用LeakCanary——一个针对Android和Java的内存泄漏检测库。 在调试生成中检测到活动内存泄漏时,LeakCanary将自动显示通知。安装这个库非常简单

通知示例:


您可以使用MMAT自动分析android内存泄漏,

可能的重复:本文将向您展示如何:避免只能让您做到这一点。有时是第三方库让你的代码出错。你链接的那篇文章是我在安卓系统中发现内存泄漏最有用的文章。万分荣幸。