Android是在Linux内核的基础之上发展过来的。内存管理这一部分,则利用了Linux现有的机制。
内存分为一下四种
- VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
- RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
- PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
- USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS
在android系统中可以通过ps命令行工具去查看
也可以在上层,通过调用系统服务来查看
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); Android.os.Debug.MemoryInfo[] memoryInfoArray = am.getProcessMemoryInfo(new int[]{android.os.Process.myPid()});