我需要檢查我的應用程序的內存泄漏,我還需要看到我的應用程序的內存分配。 我下載並安裝了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