可通過adb命令獲取android應用內存:adb shell dumpsys meminfo 包名
名稱 | 說明 |
Native Heap | Native代碼分配的內存,虛擬機和Android框架分配內存。關於什麼是Native代碼,即非Java代碼分配的內存。 |
Dalvik Heap | Java對象分配的佔據內存 |
Dalvik Other | 類數據結構和索引佔據內存 |
Stack | 棧內存 |
Other dev | 內部driver佔用的內存 |
.so mmap | C庫代碼佔用的內存 |
.apk mmap | apk代碼佔用的內存 |
.dex mmap |
dex文件代碼佔用內存。類函數的代碼和常量佔用的內存,dex mmap是映射classex.dex文件, Dalvik虛擬機從dex文件加載類信息和字符串常量等。Dex文件有索引區和Data區 |
.oat mmap | |
.art mmap | |
Other mmap | 其它文件佔用的內存 |
Unknown | |
TOTAL | 總共所佔用的內存空間,做性能分析時,一般都是看這個值 |
名稱 | 說明 |
Pss Total | 內存所實際佔用的值。 |
Private Dirty |
進程獨佔的內存。也就是應用進程銷燬時系統可以直接回收的內存容量。 通常來說,“private dirty”內存是其最重要的部分,因爲只被自己的進程使用。 它只在內存中存儲,因此不能做分頁存儲到外存(Android不支持swap)。 所有分配的Dalvik堆和本地堆都是“private dirty”內存; Dalvik堆和本地堆中和Zygote進程共享的部分是共享dirty內存。 |
Private Clean | |
Swapped Dirty | |
Heap Size | 是應用中Dalvik堆和本地堆分配的大小 |
Heap Alloc | 是應用中Dalvik堆和本地堆已經分配使用的大小。 |
Heap Free | 剩餘的堆的大小 |