2013-07-29 30 views
5

Khi tôi chạy "dumpsys adb shell meminfo" trên android 4.2, tôi nhận được kết quả nhưtruy vấn về "dumpsys meminfo" trong android

        Shared Private  Heap  Heap  Heap 
       Pss Dirty Dirty  Size Alloc  Free 
      ------ ------ ------ ------ ------ ------ 
    Native  28  8  28 16404 12256  3663 
    Dalvik 14062 10060 13736 20032 15254  4778 
    Cursor  0  0  0       
    Ashmem  0  0  0       
Other dev  4762  9556  0       
.so mmap 11699  1824  1500       
.jar mmap  0  0  0       
.apk mmap  368  0  0       
.ttf mmap  811  0  0       
.dex mmap  3736  0  0        
Other mmap  114  16  32       
    Unknown 12064  544 12052       
    TOTAL 47644 22008 27348 36436 27510  8441 

Tôi đã đọc các trang của How do I discover memory usage of my application in Android?, nhưng vẫn có một số câu hỏi:

  • Tại sao PSS gốc, được chia sẻ bẩn riêng bẩn rất nhỏ?
  • kích thước heap phải nhỏ hơn Pss?
  • Điều gì không biết nghĩa là gì? Có vẻ rất lớn.
  • Nếu tôi muốn biết số lượng bộ nhớ mà ứng dụng của tôi sử dụng, tôi nên sử dụng dữ liệu nào? Tổng số Pss? Nhưng nó không bao gồm Pss bản địa vốn không phải là số không?

Trả lời

2

Vui lòng tham khảo câu hỏi How do I discover memory usage of my application in Android?. Tôi cũng muốn bạn tham khảo liên kết Detail VSS,RSS,PSS,USS. Các dữ liệu thích hợp nhất để sử dụng cho một ứng dụng cụ thể là USS (Unique Set Size) như

USS là tổng bộ nhớ riêng cho một quá trình, ví dụ: bộ nhớ đó là hoàn toàn độc đáo để quá trình đó. USS là một số cực kỳ hữu ích vì nó cho thấy chi phí gia tăng thực sự của một quá trình cụ thể. Khi một quá trình bị giết, USS là toàn bộ bộ nhớ thực sự được trả về cho hệ thống. USS là số tốt nhất để xem khi ban đầu đáng ngờ rò rỉ bộ nhớ trong một quá trình.

bạn có thể nhận được bằng adb shell procrank | grep <your.package.name>

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