我正在尝试使用android studio工具和mat来了解android应用程序中的内存泄漏。
在点击GC按钮后,我在运行应用程序和另一个时拍摄了android studio的屏幕截图。
现在作为分析内存泄漏或使用android studio工具的初学者,我想了解下面的图表。
如何通过查看我的应用程序泄漏内存的图表来确定?
在图片1中 - 我打开我的应用程序登陆HomeScreen转到另一个活动执行一个动作(保存图像)然后返回。
在图像2中 - 我点击了GC按钮。
我的应用程序是否泄漏内存?如果不是,我的步骤是否正确,或者是否有任何特定的步骤来检查内存泄漏。
请帮助, 感谢。
答案 0 :(得分:2)
Android performance improvement tips
了解如何为对象分配跟踪生成堆转储(.hprof文件)。 转到Analyzer Tasks选项卡(Android studio左侧)在那里你会发现泄露的活动。 每当图中有如上图所示的剪切时,就会有垃圾收集。 您需要识别泄露的活动。 这是最好的链接,它解释了如何使用不同的工具在android studio中进行内存分析。 UDI COHEN BLOGPOST
另外你应该检查堆转储。如果您关闭应用程序并且应用程序中的某些对象仍在浮动,则会收集垃圾。
此外,如果您多次打开一个活动,并且每次打开活动时堆大小都会不断增长,那么必须存在内存泄漏。
答案 1 :(得分:0)
为了确定您的应用是否泄漏内存,您必须拍摄内存快照并转储堆并检查捕获窗口中的分配