Android app内存分析

1、dumpsys meminfo详解

adb shell dumpsys meminfo [pkg/pid] 可以用来查看指定进程包名的内存使用情况

adb shell "dumpsys meminfo |grep 包名"
直接看最后一行即可
最后一行对应TOTAL PSS: 20056
前面一行对应TOTAL RSS: 88532

--注意不要直接adb shell "dumpsys meminfo 包名",这个会产生一次gc,命令产生的gc不满足测试要求,同时也会产生波动。

VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)

RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)

PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)

USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS

进程空间中的heap空间是我们需要重点关注的,heap空间完全由程序员控制,我们使用的malloc、C++ new 和 java new所申请的空间都是heap空间, C/C++ 申请的内存空间在 native heap 中,而 java 申请的内存空间则在 dalvik heap中。

常驻内存看TOTAL PSS,从上面看,Java Heap和Code是大头,对业务来说一般内存优化重点:

你可能感兴趣的:(Android app内存分析)