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是大头,对业务来说一般内存优化重点:
网友评论