我是这个Android平台的新手。在一个应用程序中,存在内存泄漏。但我找不到内存泄漏发生在哪个活动或类中。
我正在使用MAT来获取内存泄漏是否存在的信息。但是找不到正在泄漏的活动。
请告诉我如何找到泄漏的活动。
谢谢。
发布于 2013-02-08 22:51:56
即使这个问题已经很老了。我认为一个带有图片的小教程可能会有所帮助。因此,首先需要安装MAT plugin。重新启动后,单击转储HPROF file

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

在这里,您左键单击最大的部分,并使用传出引用筛选。然后你会在这里看到这个视图:

在这里您可以看到,我错过了删除我的ContentManager中的项目,其中有几个项目存储在我的挂起的HashMap中。
发布于 2011-05-02 17:27:46
我在android平台上找到的关于跟踪内存泄漏的最好的帖子是:
http://ttlnews.blogspot.com/2010/01/attacking-memory-problems-on-android.html
第一部分已经过时了,因为它现在已经集成到Eclipse中了,但这篇文章的大部分内容都很棒!
发布于 2015-05-17 00:04:19
使用LeakCanary -一个适用于Android和Java的内存泄漏检测库。当在调试版本中检测到活动内存泄漏时,LeakCanary将自动显示通知。安装这个库非常简单。
https://github.com/square/leakcanary
通知示例:

https://stackoverflow.com/questions/3714394
复制相似问题