Android 使用Eclipse和Mat查找内存泄漏,无法转换hprof文件
这似乎是一个被问了很多次的问题。我正在使用Eclipse在OSX中编写一个Android应用程序。到目前为止,没有问题,只是应用程序有时会崩溃,我想看看发生了什么,这样我就可以解决问题。(这可能与位图或变量没有正确循环有关。但我不知道从哪里开始研究它。) 我使用DDMS工具(在eclipse中)创建了一个转储文件。然后我下载了MemoryanAnalyzer应用程序来打开它。这里是我被困了一个小时的地方:我必须首先转换文件,因为Eclipse以不同的格式编写hprof文件。我如何转换它 这个问题的答案,直接针对我的问题。顶部答案与hprof conv工具的参考相同 从Android获取的hprof文件具有特定于Android的格式。您应该将从Android操作系统获取的hprof>文件转换为标准hprof格式。为此,您可以使用位于AndrodiSDK/tools/hprof-conv的hprof-conv工具> 例如: hprof conv android.hprof mat.hprof 然后打开mat.hprof in Memory Analyzer 我有几个问题Android 使用Eclipse和Mat查找内存泄漏,无法转换hprof文件,android,eclipse,memory-leaks,terminal,hprof,Android,Eclipse,Memory Leaks,Terminal,Hprof,这似乎是一个被问了很多次的问题。我正在使用Eclipse在OSX中编写一个Android应用程序。到目前为止,没有问题,只是应用程序有时会崩溃,我想看看发生了什么,这样我就可以解决问题。(这可能与位图或变量没有正确循环有关。但我不知道从哪里开始研究它。) 我使用DDMS工具(在eclipse中)创建了一个转储文件。然后我下载了MemoryanAnalyzer应用程序来打开它。这里是我被困了一个小时的地方:我必须首先转换文件,因为Eclipse以不同的格式编写hprof文件。我如何转换它 这个问题
提前感谢您的回答,或者是关于如何查找内存泄漏的另一个建议。您好,很抱歉回复太晚。我刚刚完全解决了这个问题,并在这里写了一些说明: 方法1:使用独立垫
- 进入c:…\sdk tools\tools并复制hprof-conv.exe
- 转到保存dump1.hprof文件的任何文件夹并粘贴.exe文件
- 打开终端并将目录更改为包含转储文件和.exe文件的文件夹(例如,如果文件夹为c:\Users\YourName\DumpFolder,则键入
)cd c:\Users\YourName\DumpFolder
- 当您在文件夹中时,在命令提示符下键入以下命令并按enter键:
hprof conf infle.hprof outfile.hprof
- outfile.hprof文件应与其他文件位于同一文件夹中
方法2:在Eclipse中使用MAT
- 在Eclipse中安装MAT插件
- 如前所述选择以获取堆转储
- 转到窗口->打开透视->其他->内存分析
- 在标签页中查找左上角有蓝色磁盘图标的窗口,然后展开标签页(上面会有一些疯狂的名字,上面有很长的数字串)
- 完成…您正在Eclipse中查看堆转储
- 进入c:…\sdk tools\tools并复制hprof-conv.exe
- 转到保存dump1.hprof文件的任何文件夹并粘贴.exe文件
- 打开终端并将目录更改为包含转储文件和.exe文件的文件夹(例如,如果文件夹为c:\Users\YourName\DumpFolder,则键入
)cd c:\Users\YourName\DumpFolder
- 当您在文件夹中时,在命令提示符下键入以下命令并按enter键:
hprof conf infle.hprof outfile.hprof
- outfile.hprof文件应与其他文件位于同一文件夹中
方法2:在Eclipse中使用MAT
- 在Eclipse中安装MAT插件
- 如前所述选择以获取堆转储
- 转到窗口->打开透视->其他->内存分析
- 在标签页中查找左上角有蓝色磁盘图标的窗口,然后展开标签页(上面会有一些疯狂的名字,上面有很长的数字串)
- 完成…您正在Eclipse中查看堆转储
./hprof-conv infile.hprof outfile.hprof
如果您在mac上,请在命令前添加./
./hprof-conv infile.hprof outfile.hprof
听起来您只需要指定命令的完整路径-
/full path/hprof conv dump1.hprof dump1a.hprof
听起来您只需要指定命令的完整路径-/full path/hprof conv dump1.hprof dump1a.hprof
谢谢!!!!方法2是完美的。我不知道我该怎么想出来。如果你愿意,可以叫我noob,但我现在正在启动并运行,终于找到了如何使用该工具的方法。你能帮我解决ubuntu 14.04的问题吗?对不起,但对ubuntu没有任何线索…甚至从未打开过OSThank you!!!!方法2是完美的。我不知道我该怎么想出来。如果你愿意,可以叫我noob,但我现在已经开始运行了,终于知道如何使用这个工具了。你能帮我解决ubuntu 14.04的问题吗?对不起,关于ubuntu一点线索都没有……甚至从来没有打开过操作系统