如何查看第三方应用进程的内存开销,举个例子:打开QQ小游戏,想知道QQ小游戏进程占用的内存大小,但我们不知道QQ小游戏的包名或者进程ID, 如何操作呢?
1)adb shell
2)top
top命令执行后,可以知道QQ相关的进程。从中可以判断出QQ小游戏的包名和进程ID,QQ小游戏进程有mini3和mini4。
3)adb shell dumpsys meminfo 包名或者进程id
adb shell dumpsys meminfo com.tencent.mobileqq:mini3
从图中可以看出PSS 单位KB 约500M
- VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
- RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
- PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)假如有3个进程使用同一个共享库,那么每个进程的PSS就包括了1/3大小的共享库内存。通常我们使用PSS大小来作为内存性能指标。
- USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS
参考:
Android 中查看内存的使用情况集常用adb命令_bigconvience的专栏-CSDN博客_android查看内存使用情况