1. 程式人生 > >Android記憶體分析

Android記憶體分析

藉助adb.exe除錯工具

常用的記憶體分析命令

1.procrank

列印各程序粗略資訊

VSS- Virtual Set Size 虛擬耗用記憶體(包含共享庫佔用的記憶體)
RSS- Resident Set Size 實際使用實體記憶體(包含共享庫佔用的記憶體)
PSS- Proportional Set Size 實際使用的實體記憶體(比例分配共享庫佔用的記憶體)
USS- Unique Set Size 程序獨自佔用的實體記憶體(不包含共享庫佔用的記憶體)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.dumpsys meminfo

Native Heap :Native程式碼分配的記憶體

Dalvik Heap Size:虛擬機器分配的記憶體

計算方法:https://blog.csdn.net/zsj100213/article/details/80598351

PSS total= Pss Total列總和 + SwapPss Dirty列總和

Java heap=Dalvik private dirty+.art mmap private clean+.art mmap private dirty

code = .so private (clean+dirty) + .jar private (clean+dirty) + .apk private (clean+dirty) + .ttf private (clean+ dirty) + .dex private (clean + dirty) + .oat private (clean + dirty)

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3.showmap

需要先安裝showmap

命令:adb shell "pidof com.xxx.xxx|xargs showmap"

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

相關目錄
/sys/block/zram0  相關配置資訊(大小等)
/dev/block/zram0

檢視是否開啟zram及其使用情況
cat /proc/swaps 

關閉zram
adb shell swapoff /dev/block/zram0

開啟zram
adb shell swapon /dev/block/zram0

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------