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
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------