2014-07-25 20 views
6

Tôi có nghĩa là việc sử dụng bộ nhớ của một ứng dụng được hiển thị trên Cài đặt> Ứng dụng> Đang chạy. Tại sao con số đó khác xa so với kích thước Heap của một ứng dụng trên DDMS? Ví dụ: trong hệ điều hành hình ảnh, ứng dụng của tôi sử dụng 151 MB (bao gồm Dịch vụ Google PLay) nhưng DDMS cho biết chỉ sử dụng 40MB bộ nhớ.Cách hệ điều hành Android tính toán mức sử dụng bộ nhớ của một ứng dụng?

Và câu hỏi thứ hai là: Dịch vụ Google Analytics đã sử dụng 27MB, điều này chỉ dành cho ứng dụng của tôi hoặc cho tất cả các ứng dụng sử dụng Dịch vụ Google Analytics? Nếu nó chỉ dành cho ứng dụng của tôi thì đó là một chi phí đắt đỏ!

enter image description here

+0

Bạn sẽ tìm thấy câu trả lời rất toàn diện về câu hỏi trùng lặp này - http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android?rq= 1 –

Trả lời

2

Tài liệu tham khảo từ Website phát triển Android

Process Thống kê: Hiểu như thế nào ứng dụng của bạn sử dụng RAM ->http://android-developers.blogspot.com/2014/01/process-stats-understanding-how-your.html

Quản lý bộ nhớ ứng dụng của bạn ->https://developer.android.com/training/articles/memory.html

tra Cách sử dụng RAM của bạn ->https://developer.android.com/tools/debugging/debugging-memory.html


Android 4.4 KitKat đã giới thiệu một dịch vụ hệ thống mới có tên là procstats giúp bạn tốt hơn hiểu cách ứng dụng của bạn đang sử dụng tài nguyên RAM trên thiết bị.

Bạn có thể truy cập dữ liệu procstats bằng lệnh adb shell, nhưng để thuận tiện, cũng có công cụ phát triển Thống kê quy trình mới cung cấp giao diện đồ họa cho cùng dữ liệu đó. Bạn có thể tìm thấy Thống kê quy trình trong Settings > Developer options > Process Stats.

Android Process

Nhìn vào sử dụng bộ nhớ toàn hệ thống và nền tảng xử lý

Khi bạn mở trình thống kê số liệu, bạn sẽ thấy một bản tóm tắt các điều kiện bộ nhớ toàn hệ thống và chi tiết về cách các quy trình đang sử dụng bộ nhớ theo thời gian. Hình ảnh bên phải cung cấp cho bạn một ví dụ về những gì bạn có thể thấy trên một thiết bị điển hình.

Phân tích bộ nhớ cho các tiến trình cụ thể

Android Memory

Android Memory

chi tiết quá trình bộ nhớ thống kê số liệu cho quá trình đồng hồ và bàn phím trong 3,5 giờ qua.

Các chi tiết cho hai quá trình này tiết lộ rằng:

  • Lý do mà Clock đã được chạy ở tất cả là vì nó đang được sử dụng như bảo vệ màn hình hiện nay khi thiết bị đang nhàn rỗi.
  • Mặc dù quá trình Đồng hồ chỉ hoạt động dưới một nửa thời gian của Bàn phím, việc sử dụng ram của nó lớn hơn đáng kể (gần gấp 3 lần), đó là lý do tại sao trọng lượng tổng thể của nó lớn hơn.

Về cơ bản, procstats cung cấp thước đo “sử dụng bộ nhớ” giống như sử dụng bộ nhớ hoặc sử dụng dữ liệu, cho biết lượng RAM ứng dụng đang chạy trong nền đang sử dụng. Không giống như với lưu trữ hoặc dữ liệu, mặc dù, sử dụng bộ nhớ là khó khăn hơn để định lượng và đo lường, và procstats sử dụng một số thủ thuật để làm như vậy. Để minh họa sự phức tạp của việc đo lường sử dụng bộ nhớ, hãy xem xét một chủ đề liên quan: các trình quản lý tác vụ.

RAM Snapshot

Total PSS by OOM adjustment: 
    31841 kB: Native 
       13173 kB: zygote (pid 23001) 
       4372 kB: surfaceflinger (pid 23000) 
       3721 kB: mediaserver (pid 126) 
       3317 kB: glgps (pid 22993) 
       1656 kB: drmserver (pid 125) 
       995 kB: wpa_supplicant (pid 23148) 
       786 kB: netd (pid 121) 
       518 kB: sdcard (pid 132) 
       475 kB: vold (pid 119) 
       458 kB: keystore (pid 128) 
       448 kB: /init (pid 1) 
       412 kB: adbd (pid 134) 
       254 kB: ueventd (pid 108) 
       238 kB: dhcpcd (pid 10617) 
       229 kB: tf_daemon (pid 130) 
       200 kB: installd (pid 127) 
       185 kB: dumpsys (pid 14207) 
       144 kB: healthd (pid 117) 
       139 kB: debuggerd (pid 122) 
       121 kB: servicemanager (pid 118) 
    48217 kB: System 
       48217 kB: system (pid 23064) 
    49095 kB: Persistent 
       34012 kB: com.android.systemui (pid 23163/activities) 
       7719 kB: com.android.phone (pid 23357) 
       4676 kB: com.android.nfc (pid 23371) 
       2688 kB: com.nuance.xt9.input (pid 23344) 
    24945 kB: Foreground 
       24945 kB: com.android.settings (pid 24811/activities) 
    17136 kB: Visible 
       14026 kB: com.google.process.location (pid 23472) 
       3110 kB: com.android.defcontainer (pid 13976) 
    6911 kB: Perceptible 
       6911 kB: com.google.android.inputmethod.latin (pid 23298) 
    14277 kB: A Services 
       14277 kB: com.google.process.gapps (pid 23513) 
    26422 kB: Home 
       26422 kB: com.android.launcher (pid 23395/activities) 
    21798 kB: B Services 
       16242 kB: com.google.android.apps.currents (pid 23767) 
       5556 kB: android.process.media (pid 7738) 
    145869 kB: Cached 
       41588 kB: com.google.android.apps.plus (pid 24689) 
       21417 kB: com.google.android.deskclock (pid 23966/activities) 
       14463 kB: com.google.android.apps.docs (pid 8644) 
       14303 kB: com.google.android.gm (pid 9115) 
       11014 kB: com.google.android.music:main (pid 7716) 
       10688 kB: com.google.android.apps.magazines (pid 13892) 
       10240 kB: com.google.android.gms (pid 23338) 
       9882 kB: com.google.android.youtube (pid 5131) 
       8807 kB: com.google.android.apps.walletnfcrel (pid 8937) 
       3467 kB: com.google.android.setupwizard (pid 8922) 

Total RAM: 998096 kB 
Free RAM: 574945 kB (145869 cached pss + 393200 cached + 35876 free) 
Used RAM: 392334 kB (240642 used pss + 107196 buffers + 3856 shmem + 40640 slab) 
Lost RAM: 30817 kB 
    Tuning: 64 (large 384), oom 122880 kB, restore limit 40960 kB (high-end-gfx) 
0

Các đống chỉ là một phần của việc sử dụng bộ nhớ ứng dụng của bạn. Những thứ như tệp được ánh xạ vào bộ nhớ (ví dụ: đối với thư viện hệ thống bạn sử dụng) cũng có thể hiển thị trong tính toán bộ nhớ mặc dù chúng thường được chia sẻ để tính toán là phần tùy ý.

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