内存测试:

1.使用数据线将手机与电脑连接;

2.手机打开待测APP,即打开进程;

3.打开cmd命令,获取设备列表:输入adb devices;

4.进入该设备的shell环境,输入:adb -s  设备ID shell(多个),单个设备的话就直接输入:adb shell;

5.查找进程;

1)输入ps(模糊查找),寻找对应待测应用的包名,并记录其pid

2)若知道明确的包名,可直接准确查找 ps | grep  包名

6.查询内存信息,可通过两种方式获取

1)通过 dumpsys meminfo  包名/pid  获取;

Pss Total:实际使用的物理内存;

Private dirty:私有驻留内存;

Heap Size:占用总内存(Heap堆)(扩展:进程内存空间是虚拟内存,区分于物理内存,进程无法直接操作物理内存RAM。必要时,操作系统对其进行映射,使进程能应用到物理内存);

Heap Alloc:分配内存;

Heap Free:空闲内存

native process:内存大小

查看单个应用最大内存限制,输入命令:getprop | grep  heapgrowthlimit

2)可直接通过procrank

手机中的sh是经过精简过的,有些手机可能没有procrank命令,可以使用genymotion模拟器,或是自己安装procrank命令。

VSS—Virtual Set Size(虚拟耗用内存包括共享库占用的内存):是单个进程全部可访问的地址空间。

RSS—Resident Set Size(实际使用物理内存包括共享库占用的内存):单个进程实际占用的内存大小,不是精确描述。

PSS—Proportional Set Size(实际使用的物理内存,比例分配共享库占用的内存):对于系统中的整体内存使用是一个很好的描述。

USS—Unique Set Size(进程独自占用的物理内存,不包含共享库占用的内存):单个进程的全部私有内存大小,即全部被该进程独占的内存大小。

一般来说内存占用的大小有如下规律:VSS>=RSS>=PSS>=USS

USS是针对某个进程开始有可疑内存泄漏的情况,进行检测的最佳数字。

adb 性能测试(内存)的更多相关文章

  1. Android内存管理(5)*官方教程:Logcat内存日志各字段含义,查看当前内存快照,跟踪记录内存分配,用adb查看内存情况时各行列的含义,捕获内存快照的3种方法,如何让程序暴漏内存泄漏的方法

    Investigating Your RAM Usage In this document Interpreting Log Messages                 内存分析日志中各消息的含 ...

  2. adb 查看内存信息的命令

    meminfo: basic memory status-adb shell cat proc/meminfo  -- 内存系统信息-adb shell cat proc/pid/maps --  指 ...

  3. android性能测试内存泄漏

    1.什么是内存泄漏?     适用于该系统的内存使用内存泄漏,未回复(释放),该内存可以没有事业,也不能被其他人使用使用自己. 2.出有什么差别?    内存泄漏是分配出去的内存无法回收.    内存 ...

  4. 移动端 - Android客户端性能测试常见指标

    rom版本的性能测试 一般关注功耗(不过 rom 版本的功耗测试跟应用的功耗测试会有所差异,当然只是用例设计方面的差异,工具仍然采用安捷伦电源仪进行) 应用的性能测试 包括很多测试项,如启动时间.内存 ...

  5. sysbench - 数据库功能及性能测试工具

    sysbench 的 GitHub 参考资料 1.0 之后的版本使用方法跟之前的有所区别,下面所有内容基于 1.0.9 版本. 另外,为了方便管理测试,最好不要通过命令直接运行测试,而是写成脚本自动化 ...

  6. 日常使用 ADB 命令

    最近项目中经常与安卓设备相连,用到adb命令.整理一下常用命令. wifi控制命令 adb connect IP 若连接失败,可尝试插数据线运行以下两条命令后,方可拔掉数据线,在设备未关闭之前可以直接 ...

  7. 2020软件测试自学全套教程-基于python自动化软件测试-2020新版软件测试中级程序员学习路线

    不知不觉间,在软件测试行业野蛮的折腾了七年之久.七年之痒也即将过去,但我还是热爱着软件测试这一份工作,一路坚持,走到现在.经历过各种难题,有过迷茫,有过焦虑失眠.也踩过无数的坑,深知行业的不易.自从9 ...

  8. 腾讯首度公开S级手游品质管理方法

    weimjsam   引言 在最新的手游市场占有率统计中,腾讯游戏稳稳占据一半江山,目前仍以每月一到两款的速度推出新品,在如此复杂多变.响应要求极高的市场环境下,能持续推出高质量产品并保持高效迭代更新 ...

  9. Java学习笔记六(I/O流)

    1.介绍 在实际开发过程中经常会用到数据的输入/输出操作,本篇博客着重分析一下,java中经经常使用到的有关IO操作的类.而在java中能够将经常使用的流分为两个部分:字节流和字符流. 1.流的抽象基 ...

随机推荐

  1. 如何在Linux下安装Tomcat

    上篇文章写到了Linux下安装JDK1.8,这篇文章详细阐述一下 如何在Linux下安装Tomcat!!!有啥问题可以留言,博主每天都会看博客的. 准备步骤和方法和以前一样,博主用的工具是XShell ...

  2. [易学易懂系列|rustlang语言|零基础|快速入门|(7)|函数Functions与闭包Closure]

    [易学易懂系列|rustlang语言|零基础|快速入门|(7)函数Functions与闭包Closure] 有意思的基础知识 函数Functions与闭包Closure 我们今天再来看看函数. 在Ru ...

  3. OOP三大核心封装继承多态

    OOP支柱 3 个核心:封装 继承 多态 封装就是将实现细节隐藏起来,也起到了数据保护的作用. 继承就是基于已有类来创建新类可以继承基类的核心功能. 在继承中 另外一种代码重用是:包含/委托,这种重用 ...

  4. 【leetcode】1179. Reformat Department Table

    题目如下: SQL Schema Table: Department +---------------+---------+ | Column Name | Type | +------------- ...

  5. ef 分页

    public List<TEntity> FindList(Expression<Func<TEntity, bool>> predicate, Paginatio ...

  6. js dom 添加类

    var sheng = document.getElementById("sheng"); ; sheng.onclick = function() { if(this.paren ...

  7. Codeforces Gym 100851 K King's Inspection ( 哈密顿回路 && 模拟 )

    题目链接 题意 : 给出 N 个点(最多 1e6 )和 M 条边 (最多 N + 20 条 )要你输出一条从 1 开始回到 1 的哈密顿回路路径,不存在则输出 " There is no r ...

  8. Codeforces Round #303 (Div. 2) E. Paths and Trees Dijkstra堆优化+贪心(!!!)

    E. Paths and Trees time limit per test 3 seconds memory limit per test 256 megabytes input standard ...

  9. sh_08_打印分隔线

    sh_08_打印分隔线 def print_line(char, times): print(char * times) print_line("hi ", 40)

  10. 激活navicat premium12

    按Win键和R键打开运行并输入cmd并回车或Win10 开始菜单右键,打开命令提示符或者命令提示符(管理员) ,建议使用命令提示符(管理员) 最为稳妥. 1.首先使用cd命令切换到当前Navicat ...