最近从eclipse切换到android studio。如何在Android Studio中检查应用程序堆和内存分配?在Eclipse中,我们有MAT,工作室中是否有任何东西可以检查堆转储,hprof文件?
Answers:
我将通过以下简单的方法进行解释:
首先,您已经安装MAT(下载)或使用:
酿造桶安装memoryanalyzer
在Android Studio中,打开Android设备监视器或DDMS。
选择您的进程“ com.example.etc。”。
单击进程列表上方的更新堆。
在右侧面板中,选择“堆”选项卡。
单击原因GC。
单击进程列表上方的转储HPROF文件。
下载文件HPROF时,我们必须打开终端并运行此命令以生成文件以使用MAT将其打开。
打开终端并运行此命令
./hprof-conv路径/file.hprof exitPath / heap-converted.hprof
命令“ hprof-conv”位于sdk的platform-tools文件夹中。
首先安装MAT,要在Android Studio中使用它,请选择Stand-alone Eclipse RCP Applications
安装,可以将其用作独立工具
在Android Studio中,运行您的应用程序
在底部面板中,选择6:Android
,然后选择Memory Monitor
请点击 Dump Java Heap
切换到“捕获”选项卡(在左侧面板中),您可以在.hprof
文件Heap Snapshot
夹中找到文件
为了.hprof
在MAT中打开文件,您应该转换格式:左键单击.hprof
文件,然后选择Export to standard .hprof
打开MAT,然后打开.hprof
您已转换格式的文件
请注意,在最新的Android Studio(1.3+)中,堆(Android hprof)捕获已移至Android选项卡下的Memory Monitor子选项卡(如cVoronin答案中的第一张图像)。
捕获完成后,它将自动保存到项目下的“ captures”目录中(如果需要,可以在事实之后重命名文件)。hprof文件将在1.3+的新hprof查看器中自动打开。
当然,您始终可以选择将其转换为标准hprof格式并在MAT中查看。只需在“捕获”浏览器(在“项目”浏览器下)中右键单击文件,然后选择“转换”即可。而且像往常一样,由于不使用新的查看器,因此会丢失一些其他特定于Android的信息,因为标准hprof不支持这些信息。
我知道这是一个很老的问题,但是Android Studio 3现在具有内置的探查器。
请参阅此处的文档:Android Studio 3.0中的Android Profiler