0

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

我在运行应用程序时截取了 android studio 的屏幕截图,在单击 GC 按钮后截取了另一张截图。

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

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

在图 1 中 - 我打开我的应用程序并登陆 HomeScreen 去执行不同的活动(保存图像)然后返回。

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

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

图 1 在此处输入图像描述

图 2 在此处输入图像描述

请帮忙,谢谢。

4

2 回答 2

2

Android 性能提升技巧

了解如何为对象分配跟踪生成堆转储(.hprof 文件)。转到 Analyzer Tasks 选项卡(Android Studio 中的左侧),您会在其中找到泄露的活动。 请检查图像 每当在图中出现如上图所示的剪切时,就会进行垃圾收集。您需要识别泄露的活动。这是最好的链接,它解释了如何在 android studio 中使用不同的工具进行内存分析。 UDI 科恩博文

您还应该检查堆转储。如果您关闭应用程序并且您的应用程序中的某些对象仍然漂浮在外面,那么就会进行垃圾收集。

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

于 2016-07-20T11:30:41.333 回答
0

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

于 2016-07-20T11:27:02.217 回答