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的内存占用。

  • 相关阅读:
    Opengl绘制我们的小屋(二)第一人称漫游
    C# this.Invoke和this.BeginInvoke 最简单的写法
    C# 递归模型定义。赋值
    .net Core 2.1 后 Session保存,新页面获取不到值
    .net core mvc 错误信息显示 ModelState.AddModelError
    .net Core 依赖注入 Add********说明
    C# 中2个问号的作用。C#的??代表是什么意思
    asp.net mvc 加三层架构 完美搭配
    C# DataTable.Compute()用法
    C# DateTime判断时间
  • 原文地址:https://www.cnblogs.com/chengdu-jackwu/p/4301865.html
Copyright © 2011-2022 走看看