当我在Android 4.2上运行“adb shell dumpsys meminfo”时,我得到的结果如下:
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
我已经阅读了 如何在Android中发现应用程序的内存使用情况? 页面,但仍有几个问题:
- 为什么本地Pss、共享脏私人脏非常小?
- 堆大小应该比Pss小吗?
- 未知是什么意思?看起来很大。
- 如果想知道我的应用程序使用了多少内存,应该使用哪些数据?总Pss吗?但它不包括本地Pss,而本地Pss几乎为零?