Tôi cần kiểm tra đơn xin rò rỉ bộ nhớ của mình, tôi cũng cần xem phần cấp phát bộ nhớ của ứng dụng của tôi. Tôi đã tải xuống và cài đặt bộ phân tích bộ nhớ eclipse, và có vẻ như bước đầu tiên là mở một bãi chứa đống. Nhưng một đống rác là gì, làm thế nào tôi có thể tạo một bãi chứa đống. Và làm thế nào chính xác đang tôi sẽ sử dụng phần mềm này, tôi đã làm một số googling nhưng tôi không thể tìm thấy bất kỳ thông tin hữu ích nhờAndroid ==> Phân tích bộ nhớ ==> Bộ phân tích bộ nhớ Eclipse?
Trả lời
Khi bạn gỡ lỗi ứng của bạn, mở DDMS tại Eclipse. Trên thanh công cụ có một nút kết xuất heap mà bạn có thể sử dụng để tạo ra một đống kết xuất để xem trong bộ phân tích bộ nhớ Eclipse. Điều này chỉ được hỗ trợ tôi nghĩ với SDK 1.6+ hoặc 2.0+.
Ok vì vậy tôi đã nhấp vào kết xuất và nó đã mở một blog mới cửa sổ có tên android123123123 với nhiều ký tự lạ trong đó. Tôi phải làm gì với trang này? Tệp ở đâu? Cảm ơn một lần nữa – aryaxt
Tôi đã tự tìm ra. File ==> Save As, sau đó mở tập tin trong bộ phân tích bộ nhớ – aryaxt
Bạn bỏ qua một bước quan trọng được đề cập trong câu trả lời của Mathias: "Heap dump của VM VM cần được chuyển đổi sang định dạng hprof thông thường bằng cách sử dụng trình chuyển đổi hprof-conv.exe trong thư mục công cụ của Android SDK. " –
Vùng lưu trữ của máy ảo dalvik cần phải được chuyển đổi sang định dạng thông thường của hprof bằng công cụ chuyển đổi hprof-conv.exe trong thư mục công cụ của SDK Android. Bạn có thể mở hprof này với Eclipse MAT hoặc các công cụ khác là: YourKit http://www.yourkit.com/ và JProbe http://www.quest.com/jprobe/
Bên cạnh DDMS bạn cũng có thể tạo ra các hprof từ bạn app/code (chỉ SDK mới hơn) thông qua Debug.dumpHprofData(...)
Note rằng trong DDMS, bạn có thể thấy đống mà ứng dụng của bạn đang sử dụng. Nó không hiển thị vùng nguyên bản mà các tài nguyên bên ngoài như bitmap được phân bổ. Tuy nhiên, các tài nguyên này cũng cần phải được xem xét khi kiểm tra rò rỉ bộ nhớ. Khi cả vùng gốc và ứng dụng heap thêm tối đa 16MB/resp. 24MB, bạn sẽ gặp lỗi OOM.
Bạn có thể xem heap gốc được sử dụng (ví dụ: bitmap trong ứng dụng của bạn) qua Debug.getNativHeapAllocatedSize()
.
Tôi đang ở trên mac không có thèm như exe, và tôi không phải làm bất cứ điều gì với tập tin, tôi chỉ đơn giản là lưu nó như là từ nhật thực, và tôi mở nó với bộ phân tích bộ nhớ, không có vấn đề – aryaxt
@ MathiasLin, có cách nào để phân tích/xem các đối tượng trong vùng heap không? – snapfractalpop
@snapfractalpop xin lỗi, tôi không biết, chưa tự tìm kiếm. –
Xem thêm http://developer.android.com/guide/developing/debugging/ddms.html#profiling
Nếu nó giúp, bạn có thể bật hồ sơ qua địa phương mã bằng cách sử dụng API Debug. Theo cách đó, bạn có ít độ chi tiết hơn khi phân tích dấu vết trong ví dụ traceview. Xem http://macgyverdev.blogspot.com/2011/07/profiling-android-application-tutorial.html để biết ví dụ.
Và một số thông tin chi tiết về làm thế nào để chuyển đổi DDMS đống bãi để bạn có thể xem chúng trong Eclipse Memory Analyzer và tìm các đối tượng rò rỉ của bạn thông qua các dụng cụ cây Dominator: http://macgyverdev.blogspot.com/2011/11/android-track-down-memory-leaks.html
- 1. Phân tích bộ nhớ Android
- 2. Công cụ phân tích bộ nhớ/hiệu suất cho Android
- 3. Cách phân tích <unclassified> sử dụng bộ nhớ trong windbg
- 4. VS2010 Phân tích bộ nhớ .NET - cực kỳ chậm
- 5. Phân tích bộ nhớ đối tượng trong .NET
- 6. zlib, deflate: Bộ nhớ phân bổ bao nhiêu bộ nhớ?
- 7. Phần còn lại trong biểu đồ tròn chính của Bộ phân tích bộ nhớ Eclipse là gì?
- 8. cách tổng hợp @retainedHeapSize với oql trong Công cụ phân tích bộ nhớ Eclipse
- 9. C++: Bộ phân bổ bộ nhớ
- 10. Bộ nhớ phân đoạn và bộ nhớ phẳng
- 11. Bộ nhớ trong của Android, cách phân tích cú pháp đúng cách tệp văn bản JSON
- 12. Bộ phân tích cú pháp regex nhẹ
- 13. Phân bổ bộ nhớ heap và phân vùng bộ nhớ ngăn xếp
- 14. Dịch vụ phân bổ nhiều bộ nhớ?
- 15. Phân bổ bộ nhớ char * và char []
- 16. Phân bổ bộ nhớ nonblocking Java
- 17. Bộ nhớ phân bổ động trên GPU
- 18. phân bổ bộ nhớ cho con trỏ
- 19. phân bổ động của bộ nhớ
- 20. Phân bổ bộ nhớ trong C++
- 21. C++ vấn đề phân bổ bộ nhớ
- 22. Phân bổ bộ nhớ lắp ráp
- 23. Giải phóng bộ nhớ phân bổ alloca
- 24. theo dõi phân bổ bộ nhớ C++
- 25. phân bổ bộ nhớ động java?
- 26. Phân bổ bộ nhớ phương thức tĩnh
- 27. Phân bổ bộ nhớ Vector C++
- 28. Phân tích cú pháp tệp XML cục bộ trong Android
- 29. Phân tích tín hiệu Android + một số bộ lọc
- 30. Sử dụng công cụ 'Phân tích bộ nhớ' trong Qt Creator
Just FYI, vì nó đề cập đến chủ đề này - có một bài đăng trên blog mới trên blog android về phân tích mem: http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html –