adb shell dumpsys meminfo+pid此adb命令可以获取当前进程占用内存情况
C:\Users\chenhui>adb shell dumpsys meminfo 22932
Applications Memory Usage (in Kilobytes):
Uptime: 2109014 Realtime: 2109014
** MEMINFO in pid 22932 [com.chaozh.iReader.dj] **
Pss Private Private SwapPss Heap Heap Heap
Total Dirty Clean Dirty Size Alloc Free
------ ------ ------ ------ ------ ------ ------
Native Heap 127633 127420 160 75 164736 150006 14729
Dalvik Heap 30203 30064 112 77 29543 14772 14771
Dalvik Other 7725 7724 0 0
Stack 48 48 0 0
Ashmem 136 132 0 0
Gfx dev 23872 23872 0 0
Other dev 322 12 308 0
.so mmap 12794 480 7320 26
.jar mmap 4 0 4 0
.apk mmap 29378 10564 15848 0
.ttf mmap 215 0 152 0
.dex mmap 36390 24 33324 0
.oat mmap 2846 0 428 0
.art mmap 3143 2120 184 7
Other mmap 5294 4 3524 0
EGL mtrack 30216 30216 0 0
GL mtrack 6616 6616 0 0
Unknown 4280 4248 24 7
TOTAL 321307 243544 61388 192 194279 164778 29500
App Summary
Pss(KB)
------
Java Heap: 32368
Native Heap: 127420
Code: 68144
Stack: 48
Graphics: 60704
Private Other: 16248
System: 16375
TOTAL: 321307 TOTAL SWAP PSS: 192
Objects
Views: 912 ViewRootImpl: 2
AppContexts: 10 Activities: 2
Assets: 16 AssetManagers: 0
Local Binders: 132 Proxy Binders: 58
Parcel memory: 59 Parcel count: 239
Death Recipients: 7 OpenSSL Sockets: 18
WebViews: 2
SQL
MEMORY_USED: 3203
PAGECACHE_OVERFLOW: 619 MALLOC_SIZE: 117
DATABASES
pgsz dbsz Lookaside(b) cache Dbname
4 40 28 10/17/3 /data/user/0/com.chaozh.iReader.dj/databases/ksadrep.db
4 96 109 74/37/23 /data/user/0/com.chaozh.iReader.dj/databases/ttopensdk.db
4 128 109 123/90/25 /data/user/0/com.chaozh.iReader.dj/databases/iReader.db
4 20 24 3/16/2 /data/user/0/com.chaozh.iReader.dj/databases/experience.db
4 36 50 121/22/5 /storage/emulated/0/Android/data/com.chaozh.iReader.dj/files/dejian/books/.vote/chapvote.db
4 36 85 4/17/4 /storage/emulated/0/Android/data/com.chaozh.iReader.dj/files/dejian/books/.idea/idea.db
4 24 59 1/18/2 /data/user/0/com.chaozh.iReader.dj/databases/downloader.db
4 32 50 102/19/5 /data/user/0/com.chaozh.iReader.dj/databases/sensorsdata
4 28 94 2/17/3 /data/user/0/com.chaozh.iReader.dj/databases/tkd_downloader
4 32 51 3/16/2 /data/user/0/com.chaozh.iReader.dj/databases/task.db
4 32 48 1/16/2 /data/user/0/com.chaozh.iReader.dj/databases/TBFileDownload
4 32 93 29/36/6 /data/user/0/com.chaozh.iReader.dj/databases/userEvent.db
4 40 109 37/50/16 /data/user/0/com.chaozh.iReader.dj/databases/bd_embed_tea_agent.db
4 36 24 1/16/2 /data/user/0/com.chaozh.iReader.dj/databases/MessageStore.db
4 20 46 3/20/2 /data/user/0/com.chaozh.iReader.dj/databases/gold.db
4 20 16 0/15/1 /data/user/0/com.chaozh.iReader.dj/databases/npth_log.db
4 20 89 12/39/7 /data/user/0/com.chaozh.iReader.dj/databases/gold2.db
C:\Users\chenhui>
重点关注如下几个字段:
① Native/Dalvik 的 Heap 信息
具体在上面的第一行和第二行,它分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。
② TOTAL 的 PSS 信息
这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判断手机中哪些程序占内存比较大了。
③TOTAL 的 Heap Alloc 信息
这个值就是你的应用占用的虚拟的内存大小
④TOTAL 的 SwapPSS 信息
这个值就是你的应用占用交换空间的内存大小