识别Android应用中的内存泄漏

时间:2016-07-20 11:15:37

标签: android android-studio memory-leaks eclipse-memory-analyzer

我正在尝试使用android studio工具和mat来了解android应用程序中的内存泄漏。

在点击GC按钮后,我在运行应用程序和另一个时拍摄了android studio的屏幕截图。

现在作为分析内存泄漏或使用android studio工具的初学者,我想了解下面的图表。

如何通过查看我的应用程序泄漏内存的图表来确定?

在图片1中 - 我打开我的应用程序登陆HomeScreen转到另一个活动执行一个动作(保存图像)然后返回。

在图像2中 - 我点击了GC按钮。

我的应用程序是否泄漏内存?如果不是,我的步骤是否正确,或者是否有任何特定的步骤来检查内存泄漏。

图片1 enter image description here

图片2 enter image description here

请帮助, 感谢。

2 个答案:

答案 0 :(得分:2)

Android performance improvement tips

了解如何为对象分配跟踪生成堆转储(.hprof文件)。 转到Analyzer Tasks选项卡(Android studio左侧)在那里你会发现泄露的活动。 Please check image 每当图中有如上图所示的剪切时,就会有垃圾收集。 您需要识别泄露的活动。 这是最好的链接,它解释了如何使用不同的工具在android studio中进行内存分析。 UDI COHEN BLOGPOST

另外你应该检查堆转储。如果您关闭应用程序并且应用程序中的某些对象仍在浮动,则会收集垃圾。

此外,如果您多次打开一个活动,并且每次打开活动时堆大小都会不断增长,那么必须存在内存泄漏。

答案 1 :(得分:0)

为了确定您的应用是否泄漏内存,您必须拍摄内存快照并转储堆并检查捕获窗口中的分配

相关问题