Android内存_从测试角度理解

  前段时间在做些关于App的性能测试,先了些关于内存方面的基础知识。

1. 内存名字:

  VSS = Virtual set size = 虚拟耗用内存(包含共享库占用的内存)

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

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

  USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
  看不懂?其实我也不是很懂。转载一篇博客,它的后面黄色部分有对这个4个内存做出一定的解释(http://www.cnblogs.com/0616--ataozhijia/p/3713542.html)。

  但是有个结论:In general, the two numbers you want to watch are the Pss and Uss (Vss and Rss are generally worthless, because they don‘t accurately reflect a process‘s usage of pages shared with other processes)

  结论来源地址:http://elinux.org/Android_Memory_Usage

2. PSS和USS的测试意义:

    1. USS是非常准确的反应了一个APP的内存情况,PSS准确度稍差,但是还是可以使用。

    2.  关于PSS的一点小说明:The “Proportionate Set Size” is a statistic that the Android system computes, to determine if it is going to kill your process.[android系统会根据APP在PSS上占用的多少,来决定是否杀掉这个进程]

     结论来源地址:http://www.littleeye.co/blog/2013/06/11/android-memory-management-understanding-app-pss/

3. 如何获取PSS和USS:

  a. procrank工具:命令 procrank | grep APK_pakagename  (说明,此工具一般手机都不会有[不管是否root],工程系统才会存在,比如:CyanogenMod) /   它可以查询到:USS,VSS,RSS,PSS,非常高效但是对手机系统有一定要求。

     b. dumpsys命令:dumpsys meminfo APK_pakagename,此命令可以获取到PSS,查看total Pss 即可。

4. RSS和VSS

    a. 可以使用 adb Top或者 ps 命令获取,但是意义不大,不建议使用此命令测试APP的内存占用。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。