一、通过Dumpsys 来取值

1、adb shell dumpsys meminfo

获取的所有进程的内存信息,以及总内存,剩余内存,使用的内存等信息。

2、想获得某一进程内存的详细信息,在后面加上包名或者pid.

adb shell dumpsys meminfo pakagename or Pid

3、重点关注字段

(1) Native/Dalvik 的 Heap 信息

它分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。

Dalvik Heap就是常说的堆内存,Dalvik Heap不能超过最大限制;超过单个程序内存的最大限制时,就可能出现OOM(内存溢出)。

(2)Total 的 PSS 信息

PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存),这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些程序占内存比较大。

二、用/system/xbin/procrank工具 来取值很直观

1、adb shell procrank

三、top

1、top -d 1 | grep packageName

方法一:adb shell "top -d 1|grep packageName"

方法二:adb shell 进入到linux命令下,执行该命令

四、关于单个应用内存占用量问题

#查看单个应用程序最大内存限制

adb shell "getprop|grep heapgrowthlimit"

#应用启动后分配的初始内存

adb shell "getprop|grep dalvik.vm.heapstartsize"

#单个java虚拟机最大的内存限制

adb shell "getprop|grep dalvik.vm.heapsize"

应用如果不想在 dalvik heap达到heapgrowthlimit限制的时候出现OOM,需要在 Manifest中的application标签中声明 android:largeHeap=“true”,声明后应用 dalvik heap 达到heapsize的时候才会出现OOM!

注:设备的不一样 最大内存限制也可能不一样

安卓app测试之内存监控的更多相关文章

  1. 安卓app测试之cpu监控

    安卓app测试之cpu监控,如何获取监控的cpu数据呢? 一.通过Dumpsys 来取值 1.adb shell dumpsys cpuinfo 二.top 1.top -d 1|grep packa ...

  2. 安卓app测试之内存分析

    一.内存分析步骤 1.启动App. 2.使用monitor命令打开:ADM(包含DDMS) ->update heap 3.操作app,点几次GC 4.dump heap 5.hprof-con ...

  3. 安卓app测试之流量监控

    一.查看PID 通过ps命令查看:ps | grep packageName 案例:adb shell "ps | grep tv.danmaku.bili" adb shell ...

  4. 安卓app测试之Monkey日志分析《转载》

    安卓app测试之Monkey日志分析 链接:https://www.cnblogs.com/wuzm/p/10965762.html

  5. 安卓APP测试之使用Burp Suite实现HTTPS抓包方法

    APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外).所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议.Websocket.socket协议,一 ...

  6. 安卓app测试之启动时间和电量监控

    一.启动时间监控 通过adb命令获取 adb shell am start -W /<packageName> /<activityName> 案例: adb shell am ...

  7. 安卓app测试之Monkey日志分析

    转:原文:https://blog.csdn.net/a136332462/article/details/76066909  一.一般测试结果分析-搜索关键字: 1.无响应问题可以在日志中搜索 “A ...

  8. APP测试之内存命令查询

    CPU占有率            adb shell dumpsys cpuinfo :获取本机CPU占有率            adb shell dumpsys  cpuinfo | find ...

  9. 安卓app测试之Monkeyscript

    MonkeyScript是一组可以被Monkey识别的命令集合 优点:MonkeyScript可以完成重复固定的操作 使用:adb shell monkey -f <scriptfile> ...

随机推荐

  1. 仅仅需一步教你解决Win10下Android Studio terminal无法使用的问题

    Android Studio集成和加入了一些有用的工具.当中一个便是terminal. 在Windows平台下Android Studio中的terminal在原理上实际使用的是window中的cmd ...

  2. 用递归将嵌套的JSON对象遍历出来,转为二维数组

    如题所示,代码如下: var arJsonNesting = [{id:1,name:"zhang3" ,children:[{id:2,name:"zhang33&qu ...

  3. initial ram disk

    1 什么是initial ram disk 它就是一个做好了的文件系统,其存储空间是ram.在kernel启动的第一个阶段,会被mount成根文件系统. 2 为什么需要initial ram disk ...

  4. HTML DOM Table 对象

    Table 对象 Table 对象代表一个 HTML 表格. 在 HTML 文档中 <table> 标签每出现一次,一个 Table 对象就会被创建. Table 对象集合 集合 描述 c ...

  5. LAMP安装问题【已解决】

    1.编译不通过提示cannot find mysql header files under /usr/local/mysql解决办法:修改./configuer  --with-mysql=/usr/ ...

  6. [国家集训队2]Tree I

    https://www.zybuluo.com/ysner/note/1294263 题面 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树. 题目保证有解 ...

  7. 【转载】7条便利的ViewState技巧

    32.Seven handy ViewState tips 32.7条便利的ViewState技巧 Every time I have to deal with a classic ASP.NET W ...

  8. [App Store Connect帮助]三、管理 App 和版本(8)编辑 App 的用户访问权限

    对于具有“App 管理”.“客户支持”.“开发者”.“营销”或“销售”职能的特定人员(均不具有“访问报告”职能),您可以限制其在 App Store Connect 帐户中对 App 的访问权限. 必 ...

  9. robotframework - 测试用例&套件- Settings标签

    1.Test Case -- Settings标签截图 2.Test Case Settings 标签说明: Documentation:用于描述用例的一个小文本,它可以把 URL 地址转换为可点击的 ...

  10. VBNET AUTOCAD NETAPI 让插件随autocad启动

    定义一个函数,随AutoCAD 启动加载当前程序集到autocad,涉及到写入注册表,注意这是在autocad内部加载dll之后处理的方法.... 写入HKLM表示所有登录的用户都会受影响(autoc ...