zoukankan      html  css  js  c++  java
  • 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的内存占用。

  • 相关阅读:
    03 Java 修饰符
    04_Java 循环结构 for, while 及 do...while
    01_Java第一个程序_报错记录
    07_Java StringBuffer 和 StringBuilder 类_(修改,并且不产生新的未使用对象)
    06_Math 的 floor,round 和 ceil 方法实例比较_格式化字符串_String类
    [爱偷懒的程序员系列]Section 1. “懒”是一切需求的根源
    (1)Micropython+ESP32 点亮一个LED
    数据迁移测试方法【转】
    回来了回来了,失踪人口回归
    [爱偷懒的程序员系列]Section 4. 自定义钉钉消息推送
  • 原文地址:https://www.cnblogs.com/chengdu-jackwu/p/4301865.html
Copyright © 2011-2022 走看看