2012-09-21 17 views
6

Tôi đã phát triển một ứng dụng, tôi muốn kiểm tra rò rỉ bộ nhớ xảy ra trong ứng dụng. Tôi đang cố gắng với eclipse MAT, nhưng không thành công, tôi nhận được tập tin HROF nhưng eclipse MAT không thể đọc nó. Ai có thể giúp tôi không. Bất kỳ cách nào khác để tìm ra.Android: Cách kiểm tra rò rỉ bộ nhớ trong ứng dụng?

+0

Và bạn đã đọc bài đăng này: http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html vì vậy điều gì gây nhầm lẫn? –

+0

Tôi đã trải qua điều này. Tôi cũng có tệp kết xuất đống. khi tôi cố mở nó trong bộ phân tích bộ nhớ nhật thực, tức là tập tin MAT không thể đọc được. –

Trả lời

4

Tệp dump.hprof từ Android cần được chuyển đổi. Sau đó, bạn có thể mở conversion-dump.hprof trong MAT.

hprof-conv dump.hprof converted-dump.hprof 
+0

Morrison-- oohk .. Cảm ơn. Tôi nghĩ rằng tôi quên để chuyển đổi nó .. Tôi sẽ thử nó & cho u biết .. –

+0

Cảm ơn @morrison .. chuyển đổi làm việc tốt & có tỷ lệ rò rỉ bộ nhớ .. –

3

Tôi tìm thấy this video rất hữu ích. Điều này nói về những thứ như thế nào để tìm rò rỉ bộ nhớ từ logcat (nhật ký thu gom rác) và cách sử dụng bộ phân tích bộ nhớ (MAT).

+0

Sujith .. cảm ơn .. Tôi đã đi qua đoạn video này. video tuyệt vời để có kiến ​​thức về bộ phân tích bộ nhớ (MAT). –

1

@sujith video rất tốt. Để tóm tắt, 1) video đã nói về sự phát hiện rất khó phát hiện bởi "lớp bên trong không tĩnh". Có giải thích chi tiết về điều này trong this page. 2) Ông đã nói về một số khái niệm quan trọng khi sử dụng Công cụ phân tích bộ nhớ như vùng heap nông so với heap còn lại, GC Root và cây thống trị. 3) Ông đã cho thấy một ví dụ về việc sử dụng MAT để xác định rò rỉ. Trong MAT, công cụ hữu ích nhất mà anh ta nói là Histogram và Dominator Tree. Khi kiểm tra một đối tượng xa hơn, anh ta đã sử dụng menu chuột phải "Path to GC Root" và sau đó "Loại trừ tham chiếu yếu".

Các vấn đề liên quan