我需要检查我的应用程序的内存泄漏,我还需要看到我的应用程序的内存分配。 我下载并安装了eclipse内存分析器,它看起来像第一步是打开一个堆转储。 但是什么是堆转储,我如何创建堆转储。 而我要去究竟如何使用这个软件,我做了一些谷歌搜索,但我找不到任何有用的信息 感谢Android ==>内存分析==> Eclipse内存分析器?
回答
当您调试应用程序,在Eclipse开放DDMS。在工具栏上有一个堆转储按钮,您可以使用它来生成堆转储以在Eclipse内存分析器中查看。这只支持我认为1.6+或2.0+ SDK。
需要使用Android SDK工具目录中的hprof-conv.exe转换工具将dalvik VM的堆转储转换为常规hprof格式。 您可以打开这个HPROF与Eclipse MAT或其他工具有: YourKit http://www.yourkit.com/ 还有JProbe http://www.quest.com/jprobe/
除了DDMS你可以从你的应用程序/代码(仅适用于新的软件开发工具包),通过Debug.dumpHprofData(...)
还要注意创造HPROF在DDMS中你可以看到你的应用程序正在使用的堆。它不显示外部资源(如位图)正在分配的本机堆。尽管如此,在检查内存泄漏时还需要考虑这些资源。当原生应用堆和应用堆合计达到16MB/resp时。 24MB你会得到一个OOM错误。
您可以通过Debug.getNativHeapAllocatedSize()
查看已使用的本地堆(即通过位图在您的应用中)。
我在Mac上没有像exe文件那样的刺激,我不必对文件做任何事情,我只是保存它,因为它是从日食,我用记忆分析器打开它,没有问题 – aryaxt 2010-06-24 23:06:08
@MathiasLin,有没有什么办法来分析/查看本地堆中的对象? – snapfractalpop 2012-04-04 03:02:32
@snapfractalpop对不起,我不知道,还没有找过我自己。 – 2012-04-04 09:50:09
另见http://developer.android.com/guide/developing/debugging/ddms.html#profiling
如果有帮助,您可以通过使用调试API允许通过的代码局部区域分析。以这种方式,分析traceview中的痕迹时就不那么冗长了。例子见http://macgyverdev.blogspot.com/2011/07/profiling-android-application-tutorial.html。
,并就如何转换DDMS堆转储,因此您可以在Eclipse内存分析器进行查看,并通过支配树的工具找到你的泄漏对象的一些更详细的信息:http://macgyverdev.blogspot.com/2011/11/android-track-down-memory-leaks.html
- 1. Android内存分析
- 2. 内存分析器
- 3. 内存分析
- 4. Eclipse内存分析器解释
- 5. eclipse内存分析器没有打开
- 6. Eclipse内存分析器:java.lang.OutOfMemoryError:Java堆空间
- 7. 使用Eclipse内存分析器查找内存泄漏
- 8. Android如何分析内存
- 9. 内存分析器for ironpython
- 10. Windows Phone内存分析器
- 11. Javascript内存分析器
- 12. silverlight的内存分析器
- 13. 堆内存分析
- 14. dotMemory内存分析
- 15. .Net内存分析器和<GCHandle>固定
- 16. Monodroid内存分析工具
- 17. iPhone:存在内存泄漏分析器?
- 18. Android:使用Eclipse内存分析器检测泄漏
- 19. 剖析Eclipse的本身我要分析Eclipse的内存使用和<em>不</em> Eclipse的下一个程序的内存使用
- 20. 内存泄漏 - 调试器和内存分析器不同意
- 21. 内存分析:Xcode中
- 22. 内存分析工具
- 23. 分析内存管理
- 24. 分析内存问题
- 25. IOS内存泄漏分析
- 26. c#内存泄漏分析
- 27. Scala的内存分析
- 28. 不懂内存分析
- 29. .NET内存泄漏分析
- 30. Java:非堆内存分析
仅供参考,因为它涉及到的话题 - 有一个关于内存分析的Android博客上的新博客文章:http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html – 2011-03-25 03:36:31